所以我使用gulp.js来管理和自动执行某些任务,我有一个特定的任务styles
将我的scss文件编译成css,另一个任务使用gulp-connect插件运行服务器提供livereload集成。
我还有一个任务watch
来观察我的更改并触发实时重播。
gulp.task('watch', function () {
gulp.watch([ stylesPath + '/**/*.scss'], ['styles']);
gulp.watch([ scriptsPath + '/**/*.coffee'], ['scripts']);
gulp.watch([
'./app/**/*.html',
'./app/assets/scripts/**/*.js',
'./app/assets/styles/**/*.css'
], connect.reload);
});
这并不总是有效,实际上它的工作次数少于更多次。我真的不知道为什么。我对.coffee文件有相同的逻辑,它对他们很有效..但不是我的css文件。
贝娄是另一项相关任务。
gulp.task('connect', connect.server({
root: './app',
port: 1337,
livereload: true,
open: {
file: 'index.html',
browser: 'Google Chrome'
}
}));
gulp.task('styles', function () {
gulp.src('.sass-cache').pipe(clean({read:false}));
return gulp.src(stylesPath + '/**/*.scss')
.pipe(sass())
.pipe(autoprefixer('last 2 version', 'safari 5', 'ie 8', 'ie 9', 'opera 12.1', 'ios 6', 'android 4'))
.pipe(gulp.dest(stylesPath));
});
答案 0 :(得分:3)
实际上这是我的一个令人尴尬的错误。
我在html文件中将样式表包含两次以防错误,出于某种原因,这会阻止livereload工作。
答案 1 :(得分:2)
坦率地说,我没有看到任何错误。
最好是在Gulp github页面上报告此内容。可能是某种bug。 https://github.com/gulpjs/gulp