我尝试在第一页 hello world
中使用 Dust.js 模板引擎,但未能使用 {@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 可以让 asynchelpers 过滤一点逻辑,甚至更多!
虽然示例输出来自实际主页 http://www.dustjs.com/似乎工作得很好,这表明我自己的代码或我正在使用的版本中有一些可疑的东西。
然后我认为 CDN 可能正在提供过时的文件,因此我尝试使用 rawgit.com 链接直接使用 GitHub 上的最新版本
http://rawgit.com/linkedin/dustjs/master/dist/dust-full.js
示例在这里:http://jsfiddle.net/5apgp1sf/并且仍然没有输出@sep
标签内容。
出了什么问题?我看不到逗号,所以我应该去购买眼镜还是提交错误报告?
最佳答案
好吧,这个问题我自己来回答。我在 Dustjs 主页上做了一些研究并找到了答案。
这并不明显,即使有像这样的包
- 铁芯
- 满是灰尘
完整包似乎实际上并不包含@sep
定义,即使这是首页示例。
因此,导入文件 dust-helpers.js
为我解决了这个问题。
关于javascript - Dust.js @sep 示例不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30778670/