我有一系列任务需要从观察器中运行,但我无法让它们按顺序触发:
以下是gulp任务和观察器的代码。
gulp.task('app_scss', function(){
return gulp.src(appScssDir + '/main.scss')
.pipe(sass({ style: 'compressed' }).on('error', gutil.log))
.pipe(autoprefix('last 2 version', 'safari 5', 'ie 8', 'ie 9', 'opera 12.1', 'ios 6', 'android 4'))
.pipe(gulp.dest(appBuilderDir));
});
gulp.task('app_vendor_css', function(){
return gulp.src(appProviderCssDir + '/*.css')
.pipe(minifyCSS({ keepSpecialComments: 0 }))
.pipe(concat('app_vendor.css'))
.pipe(gulp.dest(appBuilderDir));
});
gulp.task('app_build_css', function(){
return gulp.src(appBuilderDir + '/*.css')
.pipe(concat('style.css'))
.pipe(gulp.dest(targetCssDir));
});
gulp.task('watch', function () {
gulp.watch(appScssDir + '/**/*.scss', ['app_scss', 'app_build_css']);
});
gulp.task('default', ['app_build_clean', 'app_scss', 'app_vendor_css', 'app_build_css', 'watch']);
当我更新一个scss文件时,它应该编译并创建一个单独的css文件。然后构建任务将该文件与供应商文件连接起来。但每次保存文件时,它总是落后一步。请参考这个视频作为例子: http://screencast.com/t/065gfTrY 我已经重命名了任务,在观察回调中改变了顺序等。
我是否犯了一个明显的错误?
gulp.watch('templates/**/*.html', () => runSequence('templates', 'bundleJS'))
- dimpiaxvar watch
从未被使用过。gulp.watch
可以在var gulp
上使用。gulp-watch
类似于gulp.watch
,但比gulp.watch
拥有更多的优势。 - Joe Hawkins