无法使用车把和 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)或其他属性(如 pathpartials/myPartial.hbs )

{{partial 'myPartial'}}

有关模板如何协同工作的更多信息,请参阅 templates readme. These docs are also linked to from the assemble readme