【问题标题】:Browser doesn't reload with gulp and livereload浏览器不会使用 gulp 和 livereload 重新加载
【发布时间】:2016-07-06 09:31:10
【问题描述】:

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

在我编译了一个玉文件后,我试图让 gulp 重新加载 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 后,一切似乎都很好;每次保存时都会编译我的玉文件,但 Chrome 不会刷新。几点说明:

  • 我在 chrome 上安装了 LiveReload 扩展,当我在 http://localhost:8080 上时,扩展图标显示“LiveReload 已连接”
  • 我在 LiveReload 扩展的 Chrome 扩展首选项中启用了“允许访问文件 URL”。
  • 当 gulp 运行时,http://localhost:35729 然后返回 json {"tinylr":"Welcome","version":"0.2.1"}
  • 我在 Windows 和 Linux 上都试过了,但都没有成功。

有什么建议吗?

【问题讨论】:

    标签: node.js gulp pug


    【解决方案1】:

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

    我使用gulp-connect@3.1.1 尝试了您的 Gulpfile,但我也无法让 livereload 工作。但是,按照链接问题线程中的建议,回退到 gulp-connect 的版本 2.3.1 确实解决了问题。可能值得一试。

    【讨论】:

    • 谢谢。确实 npm install --save-dev gulp-connect@2.3.1 成功了。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2013-07-28
      • 1970-01-01
      • 2014-08-09
      • 2015-11-08
      • 1970-01-01
      • 2014-06-20
      • 2015-09-11
      • 2017-11-08
      • 2017-01-10
      相关资源
      最近更新 更多