【发布时间】:2016-01-21 10:15:48
【问题描述】:
我有一个 gulp 工作流,一切正常,但它似乎只适用于最上面的文件,例如:public/index.html,但如果我想使用public/products/item.html,gulp-data 会抛出错误并寻找src/json/item.json 而不是src/json/products/item.json。
我认为有问题,因为我使用了path.basename(file.path, '.jade') + '.json'),它只会返回文件名,当然,如果是这样,如果它抛出类似products/item.jade的东西,如何让它也提供目录?
var basePath = {
src: 'src/',
dest: 'public/'
}
var src = {
pages: basePath.src + 'jade/',
json : basePath.src + 'json'
}
gulp.task('make:pages', function() {
return gulp.src(src.pages + '**/!(_)*.jade')
.pipe(plumber({
errorHandler: onError
}))
.pipe(data(function(file) {
return JSON.parse(fs.readFileSync('src/json/' + path.basename(file.path, '.jade') + '.json'));
}))
.pipe(jade({
pretty: true
}))
.pipe(gulp.dest(basePath.dest));
});
【问题讨论】:
标签: javascript json node.js gulp