【问题标题】:JSReport External javascript with Json data requiredJSReport 需要 Json 数据的外部 javascript
【发布时间】:2016-09-16 01:35:20
【问题描述】:

我们在 EBS 上托管了 jsreport 节点应用程序。我们创建了模板并使用来自静态网站(内部托管)的 css 和 javascripts。在外部 javascript 文件中,我们使用的变量类似于 jsreport 所需的变量,即 {{variablename}} 不起作用。当我们在模板中添加 javascript 内联时,它可以工作。

我们知道应该有其他方法来指定它,但找不到它。

【问题讨论】:

  • 你能分享一下有效的代码和无效的代码吗?这将使您的问题更加用户友好,并可能为您提供更好的答案!

标签: jsreport


【解决方案1】:

这行不通。 jsreport 模板引擎只编译和处理 html 输出,而不是引用的脚本。

不过你可以试试这个方法:

在要放置外部脚本的模板内容中放置一个占位符。假设我们要放入内联 jquery

<script>
    $$$myScript
</script>

<script>
    $(() => {
        alert('yes I have jquery inlined')
    })
</script>

创建 jsreport custom server script 下载您的外部脚本,在本例中为 jquery,并将占位符替换为其内容

var getReq = require('request').get

function beforeRender(req, res, done) {
    getReq('https://code.jquery.com/jquery-3.1.0.min.js', (err, res, body) => {
        req.template.content = req.template.content.replace('$$$myScript', body.toString())
        done()
    })
}

脚本将在模板引擎执行之前运行,因此您现在可以在其中使用模板引擎标签。

playground live demo here

【讨论】:

    猜你喜欢
    • 2014-05-25
    • 2023-02-06
    • 2015-04-06
    • 1970-01-01
    • 2020-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多