我們的gulp構建需要一系列與bower一起安裝的庫,然後將它們與我們分佈在多個目錄中的所有代碼連接起來。這裏是什麼樣子:如何讓Gulp.src失敗,如果文件丟失?
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'));
});
我們的問題是,只要有人增加了新的圖書館,其他開發商會遇到的問題,如果他們沒有運行bower install
以獲取新的組件。 scripts.js
在沒有它們的情況下生成,因爲它不會介意其中一個globs返回空,即使它是一個命名文件。
這應該如何解決?如果glob返回零結果,是否有辦法引發錯誤?
嗨,我錯過了一些功能,如單個字符串參數和使用感嘆號語法忽略文件的可能性。我向你發送了一個拉請求。 – schlingel