Gulp livereload不能使用watch使用gulp-connect

时间:2016-09-21 13:33:57

标签: gulp gulp-watch livereload

我正在为我的开发服务器使用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时,它仍然无法刷新。

1 个答案:

答案 0 :(得分:0)

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

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

而不是从上面排队。一旦我修好了,一切都运转了!