1

以下设置的工作方式如下:

  1. 我改变一个文件
  2. gulp 任务开始,最终改变/file/to/watch.js
  3. nodemon 重新启动我的快速服务器
  4. browserSync.reload() 被调用
  5. 浏览器重新加载

自从更新到节点 8.9.4(我认为那是它发生的时候),这不再有效。步骤 1-4 仍然可以正常进行。但不是第 5 步。我仍然看到“browserSync.reload!!!” 登录我的控制台,但浏览器永远不会重新加载。我已经尝试过浏览 browserSync 源代码,但在我进入标记为“本机代码”的函数之前我并没有走得太远。

任何想法如何让我的浏览器再次重新加载?

return nodemon({
    script: '/path/to/script.js',
    watch: '/file/to/watch.js',
    env: {
        'PORT': 7000
    }
}).on('start', function() {
    // to avoid nodemon being started multiple times
    // thanks @matthisk
    if (!started) {
        cb();
        started = true;
    }

    console.log('browserSync.reload!!!');
    browserSync.reload();
});

更新:我发现问题在于没有注入浏览器同步脚本标签。我还发现,如果我将open选项从更改falsetrue,那么它可以工作。不过,我更喜欢将其设置为false,并且它曾经以这种方式工作。不确定发生了什么变化。

4

0 回答 0