javascript - 如何使用gulp安装bower

标签 javascript gulp bower

我想在运行 gulp 时做这样的事情:

1.使用“gulp-bower”安装bower.json中的所有依赖项。

2.使用“main-bower-files”查找所有bower组件并将它们连接到一个文件中

var gulp = require('gulp');
var bower = require('gulp-bower');
var mainBowerFiles = require('main-bower-files');

gulp.task('default', function () {
    return bower()
        .pipe(gulp.src(mainBowerFiles()))
        .pipe(concat('lib.js'))
        .pipe(gulp.dest('static/lib'));
});

但是这会报错:先下载 Bower 组件目录不存在,然后再下载 Bower 组件。 如何先下载组件然后运行 ​​main-bower-files

最佳答案

gulp-bower 异步运行,因此它会在文件下载完成之前移至管道的下一部分。为了解决这个问题,您需要分离您的任务:

var gulp = require('gulp');
var bower = require('gulp-bower');
var concat = require('gulp-concat');
var mainBowerFiles = require('main-bower-files');

gulp.task('bower', function () {
    return bower();
});

gulp.task('bower-concat', ['bower'], function () {
    return gulp.src(mainBowerFiles())
        .pipe(concat('lib.js'))
        .pipe(gulp.dest('static/lib'));
});

gulp.task('default', ['bower-concat']);

关于javascript - 如何使用gulp安装bower,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30944527/

相关文章:

javascript - 我如何检查是否定义了一些变量?

javascript - 使用数组创建TextNode/appendChild

javascript - 在 Gulp 中,你如何否定多个项目,例如忽略一个文件和一个目录?

javascript - Gulp - 复制并重命名文件

javascript - 将 Bower 与 Webpack 结合使用 - React

javascript - 满足条件的过滤数组

javascript - 如何删除 jQuery 中特定表格行下方的所有表格行

javascript - 使用 Gulp 时 AngularJS 组件配置错误

ios - XCode 错误 itms-90035 - 签名无效?

jquery - Bower - 如何仅安装 jquery.js 而不是整个包?