Gulp 文件更改为连接流

Gulp file change into a concat stream

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

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

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

您可以使用 gulp-replace to do the actual replacement in your app.js, then use 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'));
});