我正在使用linkedIn fork(2.5.1)中的dust-full.js进行编程。我正在尝试使用帮助器进行条件限制,但我似乎无法让它工作。现在,我正在使用我的本地机器(我目前无意包含服务器后端,但它可能是这个项目的用武之地)。我目前在我的Dropbox公共文件夹上测试我的代码。所有非帮助代码都有效。
有问题的代码:
{?quote temp="4"}
Once you have chosen the best answer{@if cond="{temp} > 1"}s{/if}, please select the "Submit" button.
{:else}
Choose the best answer{@if cond="{temp} > 1"}s{/if}, then select the "Submit" button.
{/quote}
我之前添加了dust-full.js发行版和帮助程序,如下所示:
<script src="script/dust-full.js" type="text/javascript"></script>
<script src="script/dust-helpers.min.js" type="text/javascript"></script>
我在其他线程和尘埃.js tutorial中看到,需要“需要”帮助者。使用这样的代码:
var dust = require('dustjs-linkedin');
dust.helper = require('dustjs-helpers');
但是,当我包含它时,我收到控制台错误:“ReferenceError:require未定义。”我假设这是因为“require”通常在node.js中使用/包含,但老实说我不知道。我不想包含node.js,因为我不知道它,我对学习其他库不感兴趣。但是,我不知道如何评估助手。
我有四个问题:
答案 0 :(得分:1)
使用require
加载帮助程序是针对像Node这样的服务器环境。您应该能够完成加载帮助程序所做的工作 - 只需在主要灰尘脚本之后包含它们,它们就会自动添加到dust
对象中。
你所做的一切看起来是正确的,那么你是否可能使用了错误的路径来处理你的尘埃助手Javascript文件?
以下是显示{@gt}
帮助程序工作的代码段。 ({@if}
助手已弃用,因此您在使用时会在控制台中收到警告 - 但{@gt}
完全符合您的要求。)
<div id="output"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/dustjs-linkedin/2.5.1/dust-full.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/dustjs-helpers/1.5.0/dust-helpers.min.js"></script>
<script>
var tmpl = dust.compile('Hello World! Choose the best answer{@gt key=temp value=1}s{/gt}', "test"),
context = { "temp": 4 };
dust.loadSource(tmpl);
dust.render("test", context, function(err, out) {
document.getElementById("output").textContent = out;
});
</script>