2016-05-04 11 views
0

Ich versuche, alle meine 'spec' Dateien in meinen Tests Ordner browserify,gulp.src Muster passt nur letzte Datei

gulp.task('browserifyTests',function(){ 
return gulp.src(['./tests/**/spec*.js']) 
    .pipe($$.browserify() 
    ) 
    .pipe($$.rename('specs.bundle.js')) 
    .pipe(gulp.dest('tests')); 

});

Ich habe 2 Dateien specA.js und specB.js im Ordner Tests/Spezifikationen. Wenn ich browserifiziere, sehe ich specB.js nur in der specs.bundle.js. Es ist wirklich verwirrend, warum so etwas passieren sollte, wenn das Muster klar hier übereinstimmen sollte, oder? Oder mache ich etwas albernes .. Eigentlich habe ich einen Schluck gemacht und ich sehe beide Dateinamen auch gedruckt.

+0

Als Erstes versuchen Sie, etwas wie [gulp-debug] (https://www.npmjs.com/package/gulp-debug) zu verwenden, um zu überprüfen, ob Ihr Muster mit Ihren Dateien übereinstimmt. – LoremIpsum

Antwort

0

AFAIK, Sie können Browserify in Gulp nicht verwenden (weil es kein Gulp-Plugin ist).

Try this:

const source = require('vinyl-source-stream'); 
const glob = require('glob').sync; 

gulp.task('js',() => { 
    return $$.browserify(glob('./tests/**/spec*.js'), {...}) 
      .bundle() 
      .pipe(source('specs.bundle.js')) 
      .pipe(gulp.dest('./tests/')); 
}); 

Mehr Infos here (insbesondere "Mit ihnen zusammen: Gulp + Browserify").

+0

Ich werde das versuchen, aber warum braucht es auch diese eine Datei? Und es erstellt das spec.bundle.js mit dieser 1 Datei darin mit seinen Abhängigkeiten. – theraneman

+0

Das '$$. Browserify' bezieht sich höchstwahrscheinlich auf' gulp-load-plugins'. – LoremIpsum

+0

@THERANEMAN einige Probleme behoben, jetzt sollte es beide Dateien hinzufügen. – robertklep