无法使用车把和 assemblefile.js 呈现部分
Unable to render partials with handlebars and assemblefile.js
我正在使用 updated documentation for Assemble.js 并且很难清楚地了解如何使用 Handlebars 在子文件夹中使用部分包含。
我在 assemblefile.js
中找到的对部分配置唯一有意义的参考是在已弃用的 gulp-assemble doc site.
中
Assemble.io isn't helpful since it's not up-to-date with the 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}}
assemble 任务生成此错误:
The partial partials/myPartial.hbs could not be found
如何通过简单的 Assemble 构建将 Handlebars 部分包含在子目录中?
只需使用部分文件名的 stem
:
{{> myPartial }}
还有一个名为 partial
的内置助手,它试图通过键(如 myPartial
)或其他属性(如 path
(partials/myPartial.hbs
)
{{partial 'myPartial'}}
有关模板如何协同工作的更多信息,请参阅 templates readme. These docs are also linked to from the assemble readme。
我正在使用 updated documentation for Assemble.js 并且很难清楚地了解如何使用 Handlebars 在子文件夹中使用部分包含。
我在 assemblefile.js
中找到的对部分配置唯一有意义的参考是在已弃用的 gulp-assemble doc site.
Assemble.io isn't helpful since it's not up-to-date with the 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}}
assemble 任务生成此错误:
The partial partials/myPartial.hbs could not be found
如何通过简单的 Assemble 构建将 Handlebars 部分包含在子目录中?
只需使用部分文件名的 stem
:
{{> myPartial }}
还有一个名为 partial
的内置助手,它试图通过键(如 myPartial
)或其他属性(如 path
(partials/myPartial.hbs
)
{{partial 'myPartial'}}
有关模板如何协同工作的更多信息,请参阅 templates readme. These docs are also linked to from the assemble readme。