【发布时间】:2018-04-03 04:37:08
【问题描述】:
我有第一个任务:
gulp.task( 'sass', function() {
gulp.src('src/sass/**/*.+(sass|scss)')
.pipe( sass({
outputStyle:'expanded'
}).on( 'error', notify.onError(
{
message: "<%= error.message %>",
title : "Sass mistake!"
} ) )
)
.pipe(gulp.dest('src/css'));
});
第二个:
gulp.task('optimize:css', ['sass'], function () {
setTimeout(function () {
gulp.src('src/css/styles.css')
.pipe(
postcss([
autoprefix({
browsers:['>2%']
}),
stylelint(config),
stylefmt(config)
])
)
.pipe(gulp.dest('dev/assets/css'))
.pipe(cssmin())
.pipe(rename({suffix: '.min'}))
.pipe(gulp.dest('dev/assets/css'));
},1000)
});
在第二个任务中,我使用 setTimeout,因为如果我在没有它的情况下运行 optimize:css - 任务将异步工作,并且 'optimize:css' 中的操作不会让我得到正确的结果
有没有办法使用一个任务而不是两个任务,而不会超时,我会得到相同的结果。
【问题讨论】: