我写gulpfile.js
喜欢:
...
gulp.task('styles',function(){
gulp.src('./src/sass/*.scss')
.pipe(sass())
.pipe(autoprefixer('last 2 version'))
.pipe(concat('tmp.css'))
.pipe(gulp.dest('./build/css'))
.pipe(notify('Styles task complete'))
})
gulp.task('css',['styles'],function(cb){
del(['./build/css/tmp.css'],cb)
})
.....
当我运行gulp css
时,styles
任务将首先执行,因此./build/css/tmp.css
将被删除。
但是./build/css/tmp.css
仍然存在。这意味着,当执行css
任务时,styles
任务尚未执行。
为什么依赖不起作用?如何在执行'./build/css/tmp.css'
任务之前确保css
存在?
答案 0 :(得分:1)
我已经看到这个问题间歇性地工作而没有依赖项的返回。
您需要返回实际任务,以便gulp知道它何时完成。
所以这应该成为:
gulp.task('styles',function(){
return gulp.src('./src/sass/*.scss')
.pipe(sass())
.pipe(autoprefixer('last 2 version'))
.pipe(concat('tmp.css'))
.pipe(gulp.dest('./build/css'))
.pipe(notify('Styles task complete'))
});
gulp.task('css',['styles'],function(cb){
del(['./build/css/tmp.css'],cb)
})
然后等待样式完成(作为依赖项返回),然后继续。