当我跑gulp时,我想做这样的事情:
1.use" 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
答案 0 :(得分:1)
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']);