当使用gulp更改css文件时,Livereload不会更新我的浏览器

时间:2014-02-08 01:04:03

标签: livereload gulp

所以我使用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));
});

2 个答案:

答案 0 :(得分:3)

实际上这是我的一个令人尴尬的错误。

我在html文件中将样式表包含两次以防错误,出于某种原因,这会阻止livereload工作。

答案 1 :(得分:2)

坦率地说,我没有看到任何错误。

最好是在Gulp github页面上报告此内容。可能是某种bug。 https://github.com/gulpjs/gulp