Gulp livereload 不适用于 gulp-connect using watch

Gulp livereload doesn't work with gulp-connect using watch

我正在为我的开发服务器使用 gulp-connect 插件,并且我还安装了 gulp-livereload。然后我做了以下任务:

var gulp = require('gulp'),
    connect = require('gulp-connect'),
    livereload = require('gulp-livereload');


gulp.task('serve', function() {
  connect.server({
    root: 'app',
    livereload: true
  });
});

gulp.task('css', function() {
  gulp.src('./app/stylesheets/*.css')
    .pipe(connect.reload());
});

gulp.task('html', function() {
  gulp.src('./app/index.html')
    .pipe(connect.reload());
});

gulp.task('watch', function() {
  gulp.watch('./app/stylesheets/*.css', ['css']);
  gulp.watch('./app/index.html', ['html']);
});

gulp.task('default', ['serve', 'watch']);

但是每当我 运行 服务器对样式表或 index.html 进行任何更改时,我仍然需要手动刷新页面,尽管我已经根据他们的文档进行了所有操作。我也试过这样写 default 任务:

gulp.task('default', ['serve', 'html', 'css', 'watch']);

但也无济于事。 livereload 有什么问题?

已添加: 当我检查控制台时,它说无法连接到 ws://localhost:35729/livereload。此外,当我刷新页面时,控制台显示与 ws://localhost:35729/livereload 的连接已中断。这是否意味着 livereload 无法建立正确的连接?

编辑: 虽然我什么也没做,但现在当我更改 .css 文件时,livereload 会自动刷新页面。但是当我更改 index.html.

时它仍然没有刷新

我非常非常糟糕 -- 我刚刚注意到,在我的原始代码中我有

// ...
  gulp.watch('./app/html', ['html']);

而不是上面的线。我修复它后,一切正常!