EDIT:好吧,加载文件可能太复杂了,我刚刚注意到,当我们编译时不指定名称(为了同时编译多个模板),模板的路径被设置为默认名称。它甚至可以用——pwd标志进行编辑。
因此,总是有一个名称,以便上述函数可以操作。
是否有一种方法可以在客户端中呈现没有名称的预编译模板?
因为文档只显示名称:
<!-- precompiled templates -->
<script type="text/javascript" src="/lib/templates.js"></script>
<script type="text/javascript">
// The templates are already registered, so we are ready to render!
dust.render('hello', { world: "Saturn" }, function(err, out) {
document.getElementById('output').textContent = out;
})
</script>
EDIT:好吧,加载文件可能太复杂了,我刚刚注意到,当我们编译时不指定名称(为了同时编译多个模板),模板的路径被设置为默认名称。它甚至可以用——pwd标志进行编辑。
因此,总是有一个名称,以便上述函数可以操作。
这听起来像你想加载模板后,他们已经预编译路径。Dust允许你通过AMD (require.js)兼容性来做到这一点。
http://www.dustjs.com/guides/setup/amd
一旦你加载了require.js并设置了define.amd.dust = true
,你可以用模板的路径调用dust.render
, Dust会自动为你加载它。
注意,这要求你用--amd
标志编译你的模板。
<script src="r.js"></script>
<script type="text/javascript">
define.amd.dust = true;
require(["lib/dust-full"], function(dust) {
dust.render('path/to/your/template', function(err, out) { ... });
});
</script>
Dust存储库有一个使用AMD加载模板的示例。