我尝试将Dust.js模板引擎与第一页hello world
一起使用,但未能使用{@sep}
标记,模板已编译并生成输出,但未使用逗号{@sep},{/sep}
$(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可能正在提供过时的文件,所以我尝试使用rawgit.com链接直接使用GitHub的最新版本
http://rawgit.com/linkedin/dustjs/master/dist/dust-full.js
示例在此处:http://jsfiddle.net/5apgp1sf/并且仍然不会输出@sep
标记内容。
出了什么问题?我看不到逗号,所以我应该去买眼镜还是提交错误报告?
答案 0 :(得分:2)
好的,我会自己回答这个问题。我对Dustjs主页进行了一些研究并找出了它。
即使有像
这样的软件包,也不是很明显 完整包似乎实际上不包含@sep
定义,即使这是首页示例。
因此,导入文件dust-helpers.js
为我解决了这个问题。