我正在为我的开发服务器使用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
时,它仍然无法刷新。
答案 0 :(得分:0)
我非常非常糟糕 - 我刚刚注意到,在我原来的代码中我有
// ...
gulp.watch('./app/html', ['html']);
而不是从上面排队。一旦我修好了,一切都运转了!