我们的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