0

我得到了

我有一个生成app.min.js和的 gulpfile libs.min.js;相当不言自明:

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 以查看新的库文件。

我想要

我希望能够连接我使用的 js 库,而不必(array) dev.libs. 目前如果我使用return gulp.src('**/*.js'),我相信它会连接每个 js 文件bower_components,这显然是荒谬的。

问题

有没有办法自动加载和连接我需要的库,而不必在 gulpfile 中定义它们

4

1 回答 1

1

对于Bower,您可以使用插件main-bower-files来解析您的内容bower.json并搜索main每个依赖项的文件,因此您不必声明每个库。

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));
});
于 2014-10-01T21:08:34.497 回答