dust.js 中的未编译部分
Uncompiled partials in dust.js
我正在尝试弄清楚如何在 dust 视图中包含未编译的 dust 部分。
main.dust:
<div class="container">
{>"toolbar"/}
</div>
toolbar.dust:
<div class="row">
toolbar
{somevariable}
</div>
这试图加载名为 toolbar.js 的编译部分而不是未编译的 toolbar.dust 模板?
我在这里 post 找到了这个: 它可以让我加载文件,但它们包含的任何{variables} 都不会被替换。
我不想每次更改视图时都必须编译它们。如何包含替换了变量的未编译模板?
您可以向 Dust 添加一个 onLoad
处理程序来告诉它应该如何尝试加载部分。默认情况下,Dust 希望您预先注册您要尝试使用的所有模板。
更多信息:Loading Templates(听起来您想加载未编译的模板)
注意:你真的不应该在生产中这样做,因为编译模板比渲染它们慢得多。如果您使用的是 Express 之类的工具,请花时间设置一个构建步骤或一个 Express 插件来为您编译。 Dust GitHub 存储库的 examples
目录中有示例。
onLoad 处理程序可能看起来像这样(假设您是 运行 服务器上的灰尘——客户端的想法是相同的):
dust.onLoad = function(templateName, callback) {
fs.readFile(templateName + '.dust', { encoding: 'utf8' }, function(err, data) {
callback(null, data);
});
};
注意 callback
使用 Node errback 签名,因此您可以将此代码简化为:
dust.onLoad = function(templateName, callback) {
fs.readFile(templateName + '.dust', { encoding: 'utf8' }, callback);
};
我正在尝试弄清楚如何在 dust 视图中包含未编译的 dust 部分。
main.dust:
<div class="container">
{>"toolbar"/}
</div>
toolbar.dust:
<div class="row">
toolbar
{somevariable}
</div>
这试图加载名为 toolbar.js 的编译部分而不是未编译的 toolbar.dust 模板?
我在这里 post 找到了这个:
我不想每次更改视图时都必须编译它们。如何包含替换了变量的未编译模板?
您可以向 Dust 添加一个 onLoad
处理程序来告诉它应该如何尝试加载部分。默认情况下,Dust 希望您预先注册您要尝试使用的所有模板。
更多信息:Loading Templates(听起来您想加载未编译的模板)
注意:你真的不应该在生产中这样做,因为编译模板比渲染它们慢得多。如果您使用的是 Express 之类的工具,请花时间设置一个构建步骤或一个 Express 插件来为您编译。 Dust GitHub 存储库的 examples
目录中有示例。
onLoad 处理程序可能看起来像这样(假设您是 运行 服务器上的灰尘——客户端的想法是相同的):
dust.onLoad = function(templateName, callback) {
fs.readFile(templateName + '.dust', { encoding: 'utf8' }, function(err, data) {
callback(null, data);
});
};
注意 callback
使用 Node errback 签名,因此您可以将此代码简化为:
dust.onLoad = function(templateName, callback) {
fs.readFile(templateName + '.dust', { encoding: 'utf8' }, callback);
};