6
我有我要处理3级的任务,当这3个任务都做了我想做到以下几点:链连续任务
- 的毗连三个文件一起
- 丑化
- 写入磁盘
With Grunt
对于这一切,我有一个漫长的过程。这是我曾尝试与Gulp
gulp.task('libs', function() {
return gulp.src('js/libs/*.js')
.pipe(concat('01.libs.js', {newLine: ';'}))
.pipe(gulp.dest('min'));
});
gulp.task('plugins', function() {
return gulp.src('js/plugins/*.js')
.pipe(concat('02.plugins.js', {newLine: ';'}))
.pipe(gulp.dest('min'));
});
gulp.task('apps', function() {
return gulp.src('js/apps/**/*.js')
.pipe(concat('03.apps.js', {newLine: ';'}))
.pipe(gulp.dest('min'));
});
gulp.task('scripts', ['libs', 'plugins', 'apps'], function() {
return gulp .src('min/*.js')
.pipe(concat('testFile.js', {newLine: ';\r\n'}))
.pipe(rename({suffix: '.min.v' + pkg.version }))
.pipe(gulp.dest('min'))
.pipe(notify({ message: 'Scripts minified'}));
});
这工作,但我只想流输出,而不是写出来的3个中间文件只有那么Concat的那些。
于是,我又试图:
function libs() {
return gulp.src('js/libs/*.js')
.pipe(concat('01.libs.js', {newLine: ';'}));
}
function plugins() {
return gulp.src('js/plugins/*.js')
.pipe(concat('02.plugins.js', {newLine: ';'}));
}
function apps() {
return gulp.src('js/apps/**/*.js')
.pipe(concat('03.apps.js', {newLine: ';'}));
}
所以后来我build
是:
gulp.task('build', function() {
return libs()
.pipe(plugins())
.pipe(apps())
.pipe(concat('TestFile.js', {newLine: ';\r\n'}))
.pipe(rename({suffix: '.min.v' + pkg.version }))
.pipe(gulp.dest('min'));
});
这行不通。
所以,我想Q
:
function allOfThem() {
return Q.all(libs(), plugins(), apps());
}
gulp.task('build', function() {
return allOfThem().then(function (one, two, three) {
console.log(one, two, three);
});
});
此我想工作,但没有数据的回调then
。
我迷路了。达到此目的的最佳方式是什么?