我有一个Gulp任务,它呈现一个包含Lodash模板的文件并将其放入我的构建目录中。我使用gulp-template来进行渲染。如何正确读取Gulp任务中的多个文件?
为了正确渲染,我的模板需要从我的构建目录传递一个文件列表。我使用glob得到这个列表。由于glob API是异步的,我不得不这样写我的任务:
gulp.task('render', function() {
glob('src/**/*.js', function (err, appJsFiles) {
// Get rid of the first path component.
appJsFiles = _.map(appJsFiles, function(f) {
return f.slice(6);
});
// Render the file.
gulp.src('src/template.html')
.pipe(template({
scripts: appJsFiles,
styles: ['style1.css', 'style2.css', 'style3.css']
}))
.pipe(gulp.dest(config.build_dir));
});
});
这对我来说似乎不雅。有没有更好的方式来写这个任务?
我不知道glob有一个同步模式。这应该教我RTFM:/ –