2016-04-13 17 views
0

Ich habe eine multiple Build mit meiner Schluck-Datei (dev, uat usw.) eingerichtet und ich muss bestimmte Variablen in meiner app.js Datei dann concat sie in meine Hauptbündel-Datei definieren.Schluck Datei Wechsel in eine concat Stream

Ich möchte nicht die bearbeitete Datei erstellen müssen dann concat diese Datei. Ist es möglich, die Variable zu ändern, die geänderte Datei in den Speicher zu übernehmen und diese im concat zu verwenden?

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

Antwort

2

Sie gulp-replace verwenden können, den tatsächlichen Ersatz in Ihrem app.js zu tun, dann merge-stream verwenden Sie es mit Ihren anderen Quelldateien zu kombinieren:

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')); 
}); 
+0

Danke dies für mich merge sah aber gerade nur knapp sein Ziel Sinn für mich, bis in den Kontext gesetzt. Danke nochmal. –

+0

Wie legen Sie die Reihenfolge der Zusammenführung fest? –

+0

Auschecken ['gulp-order'] (https://www.npmjs.com/package/gulp-order). Ich habe meine Antwort mit einem Beispiel aktualisiert, bei dem 'app.js' vor allen anderen' .js' Dateien steht. –