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
。
我迷路了。達到此目的的最佳方式是什麼?