我们在EBS上托管了jsreport节点应用程序。我们创建了模板并使用静态网站(内部托管)中的css和javascripts。在外部javascript文件中,我们使用类似于jsreport所需的变量,即{{variablename}},它不起作用。当我们在模板中添加内嵌javascript时,它可以工作。
我们知道应该有其他方法来指定这个,但找不到它。
答案 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 强>