【发布时间】:2016-06-04 10:44:30
【问题描述】:
我的 gulp watch 任务适用于 JS,但不适用于我的 SASS。当我重新运行我的 gulp 命令时,它只会编译新的 CSS 文件。
这是我的“样式”和“观看”任务代码,任何帮助将不胜感激:
var gulp = require('gulp'),
uglify = require('gulp-uglify'),
sass = require('gulp-ruby-sass'),
livereload = require('gulp-livereload');
function errorLog(error) {
console.error.bind(error);
this.emit('end');
}
// Scripts task
// Uglifies js
gulp.task('scripts', function() {
gulp.src('js/*.js')
.pipe(uglify())
.on('error', errorLog)
.pipe(gulp.dest('build/js'));
});
// Styles Task
// Uglifies scss/css
gulp.task('styles', function() {
return sass('sass/*.scss', {
style: 'compressed'
})
.on('error', errorLog)
.pipe(gulp.dest('build/css'))
.pipe(livereload());
});
// Watch Task
// Watches JS
gulp.task('watch', function() {
var server = livereload();
gulp.watch('js/*.js', ['scripts']);
gulp.watch('sass/*.scss', ['styles']);
});
gulp.task('default', ['scripts', 'styles', 'watch']);
【问题讨论】:
-
你有什么错误信息吗?
-
更多关于实际发生的信息——输出等,可能会有用。
-
无论如何,您使用的 livereload 与推荐的略有不同 -
livereload.listen()必须在watch任务中调用。来源github.com/vohof/gulp-livereload
标签: javascript css sass gulp watch