我正在使用 updated documentation for Assemble.js并且很难清楚地了解如何使用 Handlebars 在子文件夹中使用部分包含。
我在 assemblefile.js
中找到的对部分配置唯一有意义的引用是在已弃用的 gulp-assemble doc site 中.
Assemble.io没有帮助,因为它不是 latest github repo 的最新信息.
这是我的 assemblefile.js:
'use strict';
var assemble = require('assemble');
var app = assemble();
var streamRename = require('stream-rename');
var markdown = require('helper-markdown');
app.helper('markdown', require('helper-markdown'));
app.task('load', function(callback) {
app.partials(['templates/partials/*.hbs']);
app.pages(['templates/*.hbs']);
callback();
})
app.task('assemble', ['load'], function() {
return app.toStream('pages')
.pipe(app.renderFile())
.pipe(streamRename({extname:'.html'}))
.pipe(app.dest("./"));
});
app.task('default', ['assemble']);
module.exports = app;
我的文件结构:
root
---/templates
------index.hbs
------/partials
---------myPartial.hbs
当我尝试使用 index.hbs
调用部分时:
{{> partials/myPartial.hbs}}
组装任务生成此错误:
The partial partials/myPartial.hbs could not be found
如何通过简单的 Assemble 构建将 Handlebars 部分包含在子目录中?
最佳答案
只需使用部分文件名的词干
:
{{> myPartial }}
还有一个名为 partial
的内置助手,它试图通过键(如 myPartial
)或其他属性(如 path
)找到部分> (partials/myPartial.hbs
)
{{partial 'myPartial'}}
有关模板如何协同工作的更多信息,请参阅 templates readme .这些文档也链接到 assemble readme .
关于javascript - 无法使用 handlebars 和 assemblefile.js 呈现部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45154762/