我想在一些灰尘模板中使用一段代码,所以我打算使用partials。我不确定以下是否是最佳方法。请帮忙。
1)我将基本模板中的公共代码提取到名为userinfo.html的模板文件中
2)我编译了userinfo.html以创建userinfo.dust
3)我将{>“userinfo.dust”/}代码添加到我希望查看用户信息的所有模板中
4)现在,当我使用以下命令渲染模板时。我收到“找不到模板:userinfo.dust”错误。
dust.render("moduleTemplate", templateData, function(err, out) {
$main.html(out);
});
我需要在渲染时发送userinfo.dust和templateData吗?我尝试阅读谷歌可以提供的所有部分相关信息,但无法确定如何实现部分信息。
答案 0 :(得分:1)
在您的模板中,当您致电:
{>"userinfo.dust"/}
你应该真的在打电话
{>"userinfo"/}
因为你不需要指定.dust扩展名。这是我的模板示例:
{>header /}
{>results /}
{>footer /}
HTH
答案 1 :(得分:1)
听起来您的问题的答案是部分未包含在页面中。 Dust编译为JavaScript,因此如果重命名文件,这将更有意义:userinfo.dust(模板)和userinfo.js(编译后的模板)。现在使用脚本标记包含您的模板:
<script type="text/javascript" src="templates/userinfo.js"></script>
最后,您需要使用编译时使用的svame名称来调用模板。使用文件名是个好主意(通常但不一定没有扩展名):
var userinfoCompiled = dust.compile('userinfo', 'user info template goes here');
可以使用以下方式调用以这种方式编译的模板:
{>userinfo/}
如果您不确定编译模板的名称是什么,可以打开已编译的JavaScript文件并查找:
dust.register('userinfo')