如何在本地环境中使用带有Dust.js的助手
How do I use helpers with Dust.js on a local environment?
我正在使用linkedIn fork(2.5.1)中的dustfull.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}
我之前已经添加了dustfull.js分发和类似的助手:
<script src="script/dust-full.js" type="text/javascript"></script>
<script src="script/dust-helpers.min.js" type="text/javascript"></script>
我在其他线程和dust.js教程中看到,需要"需要"助手。使用这样的代码:
var dust = require('dustjs-linkedin');
dust.helper = require('dustjs-helpers');
然而,当我包含它时,我会得到控制台错误:"ReferenceError:require未定义。"我认为这是因为node.js中通常使用/包含"require",但我真的不知道。我宁愿不包括node.js,因为我不知道它,而且我对学习其他库不感兴趣。然而,我不知道如何评估助手。
我有四个问题:
- 我提供的代码中有明显的错误吗
- 是否只有在使用服务器端脚本时才能使用dust.js助手
- (假设2的答案是"否")helpers只能与dustfull.js和dusthelpers.js一起使用吗
- (假设3的答案是"否")如何仅使用客户端脚本来使用助手
使用require
加载帮助程序适用于Node这样的服务器环境。您应该能够完全按照您所做的加载辅助对象的操作——只需将它们包含在主dust脚本之后,它们就会自动添加到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>
相关文章:
- 在客户端上编译和渲染复杂的Dust.js模板
- dust.js是随机用户上传的模板,可以安全地在服务器端执行
- 如何在 dust.js 助手中切换上下文
- dust.js:在作用域部分中使用路径
- 如何在本地环境中使用带有Dust.js的助手
- 如何使用dust.js从当前上下文中获取数据
- 如何将 html 附加到 dust.js 中的部分
- 如何在 dust.js 中实现自定义渲染逻辑
- 编译 dust.js 模板到 html 服务器端
- 如何检查 Dust.js 中不区分大小写的值
- 是否可以/明智地使用外部模板引擎,例如 dust.js 或任何其他带有 anjularjs 的模板引擎
- 使用Dust.js的异步自闭助手
- 是否可以同步渲染dust.js模板
- 关于'dust js递归'
- 获取dust.js以剥离JavaScript注释
- 如何评估dust.js中的多个布尔值
- 预编译模板出现Dust.js客户端渲染问题
- Dust.js动态键&部分
- dust.js helper的参数可以是字符串以外的任何东西(例如数组)
- 在同步回调中使用dust.js(异步)