Unser Schluckaufbau nimmt eine Reihe von Bibliotheken, die mit bower installiert werden, dann verkettet sie mit dem ganzen Code, den wir über mehrere Verzeichnisse verteilt haben. Hier ist, wie es aussieht:Wie kann Gulp.src fehlschlagen, wenn eine Datei fehlt?
var jsFiles = [
sourcePath + '/config/config.js',
sourcePath + '/vendor/jquery/dist/jquery.js',
sourcePath + '/vendor/js-cookie/src/js.cookie.js',
sourcePath + '/vendor/modernizr/modernizr.js',
sourcePath + '/vendor/lodash/lodash.js',
sourcePath + '/vendor/picturefill/dist/picturefill.min.js',
sourcePath + '/templates/**/*.js',
sourcePath + '/pages/**/*.js'
],
gulp.task('build:js', ['jscs'], function() {
return gulp.src(jsFiles)
.pipe(concat('scripts.js'))
.pipe(gulpif(isProd, uglify()))
.pipe(gulp.dest(outputPath + '/webresources/js'));
});
Unser Problem ist, dass, wenn jemand neue Bibliotheken hinzufügt, andere Entwickler werden auf Probleme stoßen, wenn sie nicht bower install
laufen die neuen Komponenten zu erhalten. Die scripts.js
wird ohne sie erstellt, da es nichts dagegen hat, dass eine der Globs leer zurückkehrt, auch wenn es sich um eine benannte Datei handelt.
Wie soll das gelöst werden? Gibt es eine Möglichkeit, einen Fehler zu werfen, wenn ein Glob Null Ergebnisse liefert?
Hallo, mir fehlten einige Features, wie einzelne String-Parameter und die Möglichkeit, die Ausrufezeichen-Syntax zu verwenden, um Dateien zu ignorieren. Ich habe dir eine Pull-Anfrage gesendet. – schlingel