我有3个我想要处理的任务,当这3个任务完成后,我想做以下事情:
随着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'}));
});
Run Code Online (Sandbox Code Playgroud)
这是有效的,但我想只输出输出,而不是写出3个中间文件,然后将它们连接起来.
所以我接着尝试了:
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: ';'}));
}
Run Code Online (Sandbox Code Playgroud)
那么我的意思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'));
});
Run Code Online (Sandbox Code Playgroud)
这不起作用.
所以我尝试过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);
});
});
Run Code Online (Sandbox Code Playgroud)
我想这可行,但回调中没有数据then.
我迷路了.实现这一目标的最佳方法是什么?
使用 event-stream.merge
var es = require('event-stream');
gulp.task('build', function () {
return es.merge(libs(), plugins(), apps())
.pipe(concat('TestFile.js', {newLine: ';\r\n'}))
.pipe(rename({suffix: '.min.v' + pkg.version }))
.pipe(gulp.dest('min'));
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2500 次 |
| 最近记录: |