我有一个生成app.min.js
和libs.min.js
的gulp文件;相当自我规划:
var dev = {
libs: [
'bower_components/angular/angular.min.js',
'bower_components/angular-foundation/mm-foundation-tpls.min.js',
'bower_components/underscore.string/dist/underscore.string.min.js'
]
};
var build = {
js: 'public/js'
};
gulp.task('libs', function() {
return gulp.src(dev.libs)
.pipe(concat('libs.min.js'))
.pipe(uglify({mangle: false}))
.pipe(gulp.dest(build.js));
});
在此设置中,每当我添加或删除库时,我都必须手动将其添加到dev.libs
数组(并且也按正确的顺序),然后重新启动Gulp以查看新的lib文件。 / p>
我希望能够在(array) dev.libs
中连接我使用的js lib而无需专门定义它们。目前,如果我使用return gulp.src('**/*.js')
,我相信它会连接bower_components
中的每个js文件,这显然是荒谬的。
有没有办法自动加载和 concat 我需要的库,而不必在gulpfile中定义它们?
答案 0 :(得分:1)
对于 Bower ,您可以使用插件 main-bower-files 来解析bower.json
的内容并搜索main
每个依赖项的文件,所以你不必声明每个lib。
var bowerFiles = require('main-bower-files');
然后你可以这样做:
gulp.task('libs', function () {
return gulp.src(bowerFiles())
.pipe(concat('libs.min.js'))
.pipe(uglify({mangle: false}))
.pipe(gulp.dest(build.js));
});