1

我有一段代码想在一些灰尘模板中使用,所以我打算使用部分代码。我不确定以下是否是最好的方法。请帮忙。

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 一起发送?我尝试阅读谷歌可以给我的所有部分相关信息,但无法弄清楚如何实现部分。

4

2 回答 2

1

在您的模板中,当您调用时:

{>"userinfo.dust"/} 

你真的应该打电话

{>"userinfo"/}

因为您不需要指定 .dust 扩展名。这是我的一个模板示例:

{>header /}
    {>results /}
{>footer /}

高温高压

于 2012-12-24T11:42:27.567 回答
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')
于 2012-12-24T13:30:39.607 回答