关于gulp中顺序执行任务
前 端
gulp
今天在学习gulp的时候,由于要执行文件压缩和文件重命名和清除分配文件的内容,发生了一些冲突,写在这里督促一下自己。 每天进步一点点,希望越来越好~
一、顺序问题 |
其实主要的问题出现在没有搞懂数据流的原因,对于数据流而言,代码语句的执行结束仅仅意味着数据操作的开始,唯一能确定数据操作结束的是最后一个数据流所触发的end事件;因此,只有想办法监听到这个end事件,才有可能实现真正意义上的任务依赖。而在任务定义的函数中返回最后一个数据流,是一个相对来说使用起来最方便的方案。
var gulp = require("gulp"); //引入gulp var uglify = require("gulp-uglify"); //压缩 var rename = require("gulp-rename") //重命名 var clean = require("gulp-clean") //清除文件 gulp.task("minfile",["clean"],function(){ //在官方的文档中找到如下方式,在coffee任务中添加一个参数,标记该任务所依赖的其他任务,依赖的任务先于该任务执行 gulp.src("src/js/*.js") .pipe(uglify()) .pipe(rename(function(path){ path.basename += ".min"; })) .pipe(gulp.dest("dist/js")) }) gulp.task("clean",function(){ return gulp.src("dist/js") //查询很多资料,原来问题出现在这里 .pipe(clean()) }) gulp.task("default",["minfile"])