Gulp文件更改为concat流

时间:2016-04-13 07:03:49

标签: gulp gulp-concat

我的gulp文件(dev,uat等)设置了多个构建版本,我需要在app.js文件中定义某些变量,然后将它们连接到我的主bundle文件中。

我不想创建已编辑的文件然后连接该文件。是否有可能使变量更改然后在内存中更改文件并在concat中使用它?

gulp.src('_app.js').pipe(replace("'baseURL':", "'baseURL':'www.test.com'"))
            .pipe(concat(['list of files','file in memory']));

1 个答案:

答案 0 :(得分:2)

您可以使用gulp-replaceapp.js中进行实际替换,然后使用merge-stream将其与其他源文件合并:

var replace = require('gulp-replace');
var merge = require('merge-stream');
var order = require('gulp-order');

gulp.task('concat', function() {
  var appStream = gulp.src('app.js')
    .pipe(replace(/'baseURL':/, "'baseURL':'www.test.com'"));
  return merge(appStream, gulp.src(['list of files']))
    .pipe(order(['app.js', '*.js']))
    .pipe(concat('concatenatedFile.js'))
    .pipe(gulp.dest('dist'));
});