截至目前,我只有两个gulp任务,即gulp.task('handlebars-index')
,gulp.task('handlebars-about')
。以下是文档中的代码https://www.npmjs.org/package/gulp-compile-handlebars
我不知道如何处理两个.handlebars文件的任务。
var gulp = require('gulp');
var handlebars = require('gulp-compile-handlebars');
var rename = require('gulp-rename');
gulp.task('handlebars', function () {
var templateData = {
firstName: 'Kaanon'
},
options = {
ignorePartials: true, //ignores the unknown footer2 partial in the handlebars template, defaults to false
partials : {
footer : '<footer>the end</footer>'
},
batch : ['./src/partials'],
helpers : {
capitals : function(str){
return str.toUpperCase();
}
}
}
// here how do I add an index.html and say and about.html?
return gulp.src('src/index.handlebars')
.pipe(handlebars(templateData, options))
.pipe(rename('index.html'))
.pipe(gulp.dest('dist'));
});
你可以看到上面的任务基本上取了index.handlebars然后编译它并创建一个index.html文件。
如果我添加了一个车把文件数组,该任务将如何知道如何创建.html版本?
return gulp.src(['src/index.handlebars','src/about.handlebars'])
.pipe(handlebars(templateData, options))
.pipe(rename('index.html'))
.pipe(rename('about.html'))
.pipe(gulp.dest('dist'));
上述情况显然不会有效。
答案 0 :(得分:7)
Gulp-rename也采用一种功能,你只能改变部分路径。
return gulp.src('src/*.handlebars')
.pipe(handlebars(templateData, options))
.pipe(rename(function(path) {
path.extname = '.html';
}))
.pipe(gulp.dest('dist'));