我尝试将Dust.js模板引擎与第一页hello world一起使用,但是它未能使用{@sep}标记,模板被编译并生成输出,而不是逗号{@sep},{/sep}。
http://jsfiddle.net/t1qh9abw/
$(document).ready(function () {
var template = "Dust does {#features}{name}{@sep},{/sep}{/features}!"
var compiled = dust.compile(template, "test");
dust.loadSource(compiled);
dust.render("test", {
features: [
{name: "async"},
{name: "helpers"},
{name: "filters"},
{name: "a little bit of logic"},
{name: "and more"}
]
},
function (err, out) {
document.getElementById('container').textContent = out;
});
});{@sep},{/sep}似乎没有产生任何东西,输出是
Dust does asynchelpersfiltersa little bit of logicand more!
虽然来自实际主页http://www.dustjs.com/的示例输出似乎工作得很好,但这表明我自己的代码或我正在使用的版本中有一些可疑之处。
然后我想CDN可能正在提供一个过时的文件,所以我尝试直接使用来自GitHub的最新版本,使用rawgit.com链接。
http://rawgit.com/linkedin/dustjs/master/dist/dust-full.js
示例如下:http://jsfiddle.net/5apgp1sf/,它仍然没有输出@sep标记内容。
哪里出了问题?我看不见逗号,所以我应该去买眼镜还是写一份错误报告?
发布于 2015-06-11 11:14:41
好的,我自己回答这个问题。我在Dustjs的主页上做了一些研究,并找出了答案。
并不是很明显,即使有这样的包
完整的包似乎并没有真正包含@sep定义,即使这是frontpage示例。
因此,导入文件dust-helpers.js为我解决了这个问题。
https://stackoverflow.com/questions/30778670
复制相似问题