无法使用把手和assemblefile.js

时间:2017-07-17 22:42:28

标签: javascript handlebars.js assemble

我正在使用updated documentation for Assemble.js并且很难清楚地了解如何在使用Handlebars的子文件夹中使用Partial包含。

我在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

当我尝试使用:{/ p>从index.hbs调用部分时

{{> partials/myPartial.hbs}}

汇编任务会生成此错误:

  

无法找到部分partials / myPartial.hbs

如何使用简单的Assemble build?

在子目录中包含Handlebars partials

1 个答案:

答案 0 :(得分:1)

只需使用部分文件名的stem

{{> myPartial }}

还有一个名为partial的内置帮助程序,它尝试按键(如myPartial)或其他属性(如pathpartials/myPartial.hbs)<查找部分< / p>

{{partial 'myPartial'}}

有关模板如何协同工作的更多信息,请参阅templates readme。这些文档也与assemble readme

相关联