我在每个目录中都有home.json,contact.json,case.json等结构,我将其合并为一个,就像home-combined.json一样。
我需要获取*.json
的文件名以将fileName设置为*-combined.json
,我使用此pageName变量来获取文件的名称但结果是{{1}而不是*-combined.json
home-combined.json
答案 0 :(得分:0)
如果您尝试这样做,我将执行以下操作,而不是您正在执行的操作:
home.json
{
one: 1
}
other.json
{
two: 2
}
你希望得到: 家庭combined.json
{
one: 1,
two: 2
}
使用此gulp模块https://www.npmjs.com/package/gulp-merge-json
您的案例中的一个例子是:
var jsonmerge = require('gulp-merge-json');
var paths = require('./pathsFile.json');
/*
Basic functionality
*/
gulp.task('json-merge', function(){
return gulp.src('jsonFiles/**/*.json')
.pipe(jsonmerge('home-combined.json'))
.pipe(gulp.dest(paths.json.dest));
});
这里唯一的区别是您不需要指定要解析的文件的名称。
不确定这是否能解答您的问题,但如果您指定了所需内容,我可以编辑我的回复。
- 编辑 要通过gulp从不同目录中获取文件,您可以指定流的来源,例如:
return gulp.src([dir1 + 'jsonFiles/**/*.json',
dir2 + 'jsonFiles/**/*.json',
dir3 + 'jsonFiles/**/*.json'])