在客户端渲染预编译的匿名模板



是否有一种方法可以在客户端中呈现没有名称的预编译模板?

因为文档只显示名称:

<!-- 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加载模板的示例。

最新更新