我的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']));
答案 0 :(得分:2)
您可以使用gulp-replace
在app.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'));
});