在写gulpfile.js的task时,一开始我是这么写的:
gulp.task('clean',function(cb){
del(['typing.min.js'], cb);
});
gulp.task('build', ['clean'],function(){
gulp.src('typing.js')
.pipe(uglify())
.pipe(rename('typing.min.js'))
.pipe(gulp.dest(''));
});
gulp.task('default', ['clean','build']);
在shell里执行
gulp
或者是
gulp build
始终只进行了clean任务而不build,对着API和一些介绍gulp的文章,怎么都找不到问题所在。
解决
接着搜到了一句话:
Make sure to return the stream so that gulp knows the clean task is asynchronous and waits for it to terminate before starting the dependent one.
由于del是异步执行的,尝试在clean任务中返回流后就正常了:
gulp.task('clean',function(cb){
return del(['typing.min.js'], cb);
});