我希望能够编辑JSON然后通过gulp流发送它。我知道有gulp-json-edit但是我想知道它是如何完成的并且自己做。在这种情况下,要更改基本授权。
例如,像这样:
var data = JSON.parse(fs.readFileSync('./core-config.json'));
data.local.ENDPOINT.CORE.BASIC = "Basic Stuff";
gulp.src(data)
.pipe(somestuff)
.pipe(gulp.dest('./'));
然而,这当然不起作用,因为data
不是一个全局。然后我怎么能以一种我可以传递给gulp.src()的方式操纵data
?
答案 0 :(得分:1)
前段时间我写了一个模块,可以将常规对象流转换为乙烯流:vinylize
。它对于静态站点生成非常有用,但如果我正确理解您的问题,它也应该能够处理您的用例。
使用vinylize()
的示例代码如下所示:
var vinylize = require('vinylize');
var data = JSON.parse(fs.readFileSync('./core-config.json'));
data.local.ENDPOINT.CORE.BASIC = "Basic Stuff";
vinylize([data], {
path: 'core-config.json',
contents: JSON.stringify(data),
ignoreSourceProps: true,
})
.pipe(somestuff)
.pipe(gulp.dest('./'));