Dust.js @sep示例不起作用

时间:2015-06-11 10:47:17

标签: javascript dust.js

我尝试将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可能正在提供过时的文件,所以我尝试使用rawgit.com链接直接使用GitHub的最新版本

http://rawgit.com/linkedin/dustjs/master/dist/dust-full.js

示例在此处:http://jsfiddle.net/5apgp1sf/并且仍然不会输出@sep标记内容。

出了什么问题?我看不到逗号,所以我应该去买眼镜还是提交错误报告?

1 个答案:

答案 0 :(得分:2)

好的,我会自己回答这个问题。我对Dustjs主页进行了一些研究并找出了它。

即使有像

这样的软件包,也不是很明显
  • 尘核
  • 尘埃满

完整包似乎实际上不包含@sep定义,即使这是首页示例。

因此,导入文件dust-helpers.js为我解决了这个问题。