我如何告诉 Gulp 先运行一个任务再运行另一个任务?
例如,我需要先将 .less 文件压缩成 .css,
// Crunch less into css.
gulp.task('less', function () {
return gulp.src([
'css/myless.less'
])
.pipe(less().on('error', function (err) {
console.log(err);
}))
.pipe(cssmin().on('error', function(err) {
console.log(err);
}))
.pipe(rename({suffix: '.less'}))
.pipe(gulp.dest('css/'));
});
然后将其与其他普通的 .css 文件合并,
var concat = require('gulp-concat'),
minifyCSS = require('gulp-minify-css'),
clean = require('gulp-clean');
// CSS concat, auto-prefix and minify
gulp.task('styles', function() {
gulp.src([
'css/myless.less.css',
'css/normal.css'
])
.pipe(concat('main.css'))
.pipe(minifyCSS())
.pipe(gulp.dest('css/'));
});
运行任务,
gulp.task('default', ['less', 'styles'], function() {
})
它只优化'css/normal.css',但不优化'css/myless.less.css'。
我该怎么办?
最佳答案
您的 styles
任务应该依赖于 less
任务来等待其完成。执行您所做的操作将并行运行这两个任务。
您可以为您的gulpfile 的每个任务指定一组依赖任务:
gulp.task('styles', ['less'], function () {
那么您的默认
任务应该如下所示:
gulp.task('default', ['styles']);
关于javascript - Gulp 回调 - 如何告诉 Gulp 先运行一个任务再运行另一个任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26715230/