如何使用gulp修改配置文件

如何使用gulp修改配置文件,gulp,Gulp,我使用gulp配置复杂的本地设置,需要自动编辑文件 情况是: 确定某个文件是否在另一行之后包含某些行(使用正则表达式找到) 如果找不到行,请插入该行 (可选)删除文件中的某些行 我需要这个来修改系统配置文件和编译场景 大口大口喝的最好方法是什么 Gulp是纯javascript。如果我是你,我会做的是创建一个插件,通过管道连接到原始配置文件 吞咽流发出文件。所以你真正要做的就是创建一个“管道工厂”来转换对象 它看起来像这样(使用): var es=require('event-stream'

我使用gulp配置复杂的本地设置,需要自动编辑文件

情况是:

  • 确定某个文件是否在另一行之后包含某些行(使用正则表达式找到)
  • 如果找不到行,请插入该行
  • (可选)删除文件中的某些行
我需要这个来修改系统配置文件和编译场景


大口大口喝的最好方法是什么

Gulp是纯javascript。如果我是你,我会做的是创建一个插件,通过管道连接到原始配置文件

吞咽流发出文件。所以你真正要做的就是创建一个“管道工厂”来转换对象

它看起来像这样(使用):

var es=require('event-stream');
//如果使用相同的参数,您可以在此处接收参数
//不同场合的插件。
函数fixConfigFile(){
返回es.map(函数(文件,cb){
var fileContent=file.contents.toString();
//确定某个文件是否包含某些行。。。
//如果找不到行,请插入该行。
//(可选)删除文件中的某些行。
//更新乙烯基文件
file.contents=新缓冲区(fileContent);
//将更新后的文件发送到管道中
cb(空,文件);
});
}
gulp.task('fix-config',function(){
返回gulp.src('path/to/original/*.config')
.pipe(fixConfigFile())
.管道(吸入目的地(“路径/至/固定/配置”);
});
或者您可以使用:

const map = require('vinyl-map')
const gulp = require('gulp')

const modify = map((contents, filename) => {
    contents = contents.toString()

    // modify contents somehow

    return contents
  })

gulp.task('modify', () =>
  gulp.src(['./index.js'])
    .pipe(modify)
    .pipe(gulp.dest('./dist'))
})