我尝试将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标记内容。

什么地方出了错?我看不到逗号,应该买眼镜还是提交错误报告?

最佳答案

好吧,我会自己回答这个问题。我在Dustjs主页上进行了一些研究,并弄清楚了。

即使有像


尘芯
尘土飞扬


完整的软件包似乎实际上没有包含@sep定义,即使这是头版示例。

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

关于javascript - Dust.js @sep示例不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30778670/

10-11 06:39