浏览器无法重新加载gulp和livereload

时间:2016-03-19 16:59:43

标签: node.js gulp pug

如果这看起来像是一个重复的问题,请原谅我,但我已经阅读了我能找到的所有资源,以帮助我确定问题的根源。

我在编译玉器文件后尝试重新加载Chrome。我有这个用于我的gulpfile.js:

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

gulp.task('jade', function() {
   return gulp.src('src/*.jade')
      .pipe(jade({pretty: true}))
      .pipe(gulp.dest('dev/'))
      .pipe(connect.reload())
});

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

gulp.task('watch', function() {
   gulp.watch('src/*.jade', ['jade']);
});

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

我的文件结构是:

.
├── dev/
│   └── index.html
├── node_modules/
├── src/
│   └── index.jade
├── gulpfile.js
└── package.json

在命令行中输入gulp后,一切似乎都很好;每当保存时我的jade文件都会被编译,但Chrome不会刷新。一些评论:

  • 我在Chrome上安装了LiveReload扩展程序,当我在http://localhost:8080
  • 时,扩展图标显示“LiveReload已连接”
  • 我已在LiveReload扩展程序的Chrome扩展程序首选项中执行了“允许访问文件网址”。
  • 当gulp正在运行时,http://localhost:35729将返回json {"tinylr":"Welcome","version":"0.2.1"}
  • 我在Windows和Linux上都尝试过这种方法但没有成功。

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

Livereload似乎无法在较新版本的gulp-connect中可靠地运行,请参阅Livereload is broken since 3.0.0

我使用gulp-connect@3.1.1尝试了你的Gulpfile,但我也无法使用livereload。但是,如链接问题线程中所建议的那样,回退到2.3.1的{​​{1}}版本确实解决了问题。可能值得一试。

答案 1 :(得分:0)

在我的情况下,浏览器没有刷新,因为我有另一个phpStorm实例已通过livereload运行。因此,请确保只运行一次。