0
私はいくつかのGulpタスクを実行していて、htmlテンプレート用にhandlebars.jsを使用していますが、ヘルパー関数を外部jsファイルから処理するのに苦労しています... documentation here実際に外部ファイルがどのように見えるかを説明するので、私は誰かが私を助けることを望んでいます。handlebars.jsの外部ヘルパーファイル
は、ここで私は
/**** gulpfile.js ****/
var gulp = require('gulp');
var hb = require('gulp-hb');
gulp.task('default', function() {
return gulp
.src('./src/{,posts/}*.html')
.pipe(hb({
partials: './src/assets/partials/**/*.hbs',
helpers: './src/assets/helpers/*.js',
data: {
people: [
{firstName: "Yehuda", lastName: "Katz"},
{firstName: "Carl", lastName: "Lerche"},
{firstName: "Alan", lastName: "Johnson"}
]
}
}))
.pipe(gulp.dest('./web'));
});
/**** External js file .../helpers/helpers.js ****/
Handlebars.registerHelper('list', function(items, options) {
var out = "<ul>";
for(var i=0, l=items.length; i<l; i++) {
out = out + "<li>" + options.fn(items[i]) + "</li>";
}
return out + "</ul>";
});
<!-- Handlebars html template -->
{{#list people}}{{firstName}} {{lastName}}{{/list}}
は、エラーメッセージが出て撮影しなければならないものだ。
[14:10:13] ReferenceError: Handlebars is not defined
at Object.<anonymous> (/Applications/MAMP/htdocs/helpers/src/assets/helpers/helpers.js:1:63)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at mapper (/Applications/MAMP/htdocs/helpers/node_modules/gulp-hb/node_modules/handlebars-wax/node_modules/require-glob/src/require-glob.js:51:12)
at Array.map (native)
at mapReduce (/Applications/MAMP/htdocs/helpers/node_modules/gulp-hb/node_modules/handlebars-wax/node_modules/require-glob/src/require-glob.js:87:4)
へやMOLDA、助けのための感謝のヒープ...今「:欠落しているヘルパー:エラー 『アウト撮影しています。私は私の答えを更新したリスト』 – WillW
@WillW申し訳ありませんが – Molda
ねえ@Molda、のために大きな感謝 – WillW