在gulp中如果有return,就是执行异步操作,
//注册转换less的任务
gulp.task('less', function () {
return gulp.src('src/less/*.less') //异步操作
.pipe(less()) //编译less文件为css文件
.pipe(gulp.dest('src/css/'))
})
//注册合并压缩css文件
gulp.task('css', ['less'], function () {
return gulp.src('src/css/*.css')
.pipe(concat('build.css'))
.pipe(rename({suffix:'.min'}))
.pipe(cssClean({compatibility:'ie8'}))
.pipe(gulp.dest('dist/css/'))
})
//注册默认任务
gulp.task('default',['js','less','css'])
js,css,less三个任务同时异步执行。
C:\Workspace\Code\MyProject\Web\gulp_test\src>gulp
[14:23:54] Using gulpfile C:\Workspace\Code\MyProject\Web\gulp_test\src\gulpfile.js
[14:23:54] Starting 'js'...
[14:23:54] Starting 'less'...
[14:23:54] Starting 'css'...
[14:23:54] Finished 'less' after 208 ms
[14:23:54] Finished 'css' after 304 ms
[14:23:54] Finished 'js' after 342 ms
[14:23:54] Starting 'default'...
[14:23:54] Finished 'default' after 120 μs
如果去掉return
gulp.task('less', function () {
gulp.src('src/less/*.less') //异步操作
.pipe(less()) //编译less文件为css文件
.pipe(gulp.dest('src/css/'))
})
js, less, css依次执行(同步)
[14:25:36] Using gulpfile C:\Workspace\Code\MyProject\Web\gulp_test\src\gulpfile.js
[14:25:37] Starting 'js'...
[14:25:37] Finished 'js' after 22 ms
[14:25:37] Starting 'less'...
[14:25:37] Finished 'less' after 2.46 ms
[14:25:37] Starting 'css'...
[14:25:37] Finished 'css' after 2.73 ms
[14:25:37] Starting 'default'...
[14:25:37] Finished 'default' after 93 μs
添加依赖:对css的处理依赖于对less的处理,添加[‘less’]
gulp.task('css', ['less'], function (){})