Dust.js - 在客户端呈现预编译的匿名模板

Dust.js - Render precompiled anonymous template on client side

有没有办法在 DustJs 中的 客户端 呈现没有名称的预编译模板?

因为documentation只显示名字:

<!-- 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>


编辑: 好的,加载文件可能太复杂了,我只是注意到当我们编译时没有指定名称(为了同时编译多个模板),设置了模板的路径作为默认名称。它甚至可以用 --pwd flag.
编辑 因此,总有一个名称,以便上述功能可以运行。

听起来您想在模板预编译后按路径加载模板。 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 存储库有一个示例 using AMD to load templates