3

私が見たAssembleドキュメントや他のリポジトリから比較的単純に見えることをしようとしていますが、何らかの理由でハンドルバーヘルパーの登録に問題があります。ヘルパーは helpers > helper-classgrid.js にあります

module.exports.register = function (Handlebars, options, params)  { 
  Handlebars.register('classgrid', function (index, options)  { 
    gridclass: function (index, options) {
    if (index === 0 || index % 4 === 0) {
        return options.fn(this);
      }
    return options.inverse(this);
  };
};

私のうなり声 config.helpers = helpers:

assemble: {
      options: {
        layoutdir: '<%= config.guts %>/templates/layouts/',
        assetsDir: '<%= grunt.config.get("assets_dir") %>',
        environmentIsProduction: '<%= grunt.config.get("environmentIsProduction") %>',
        environmentIsDev: '<%= grunt.config.get("environmentIsDev") %>',
        data: ['<%= config.content %>/**/*.json', '<%= grunt.config.get("environmentData") %>'],
        helpers: ['<%= config.helpers %>/helper-*.js']
      },
}

テンプレート コード:

{{#classgrid @index}}
// do something here
{{/classgrid}}

Handlerbars テンプレートにヘルパーを実装し、アセンブル タスクを含む grunt タスクを実行すると、エラーが発生します。

Warning: Missing helper: 'classgrid' Use --force to continue.

何が間違っていたのか、またはヘルパー用に別の NPM パッケージを作成する必要があるのか​​ どうかはわかりません。私がやろうとしていることをしているように見えるこれらの2つのリポジトリを見てきました

https://github.com/buildingblocks/bb-prototype-website/blob/master/Gruntfile.js https://github.com/ghost-town/layouts-example/blob/master/Gruntfile.js#L33

4

1 に答える 1