JSReport外部javascript需要Json数据

时间:2016-09-14 18:51:26

标签: jsreport

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

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

1 个答案:

答案 0 :(得分:0)

这不起作用。 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