0

我希望能够编辑 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它不是一个 glob。然后我如何data以一种可以将其传递给 gulp.src() 的方式进行操作?

4

1 回答 1

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('./'));
于 2016-05-26T16:09:48.073 回答