【问题标题】:How to enable hot reloading via shared folders with Vagrant VM?如何使用 Vagrant VM 通过共享文件夹启用热重载?
【发布时间】:2016-04-28 11:56:47
【问题描述】:

我有一个非常基本的 react/redux 应用程序,它通过 webpack 使用热重载(即当我保存对源代码的更改时,它会在浏览器中相应地更新我的应用程序的内容,保留我的应用程序的状态)。这适用于 myhost 机器。

但是,如果我使用基于 vagrant 的工作流和同步文件夹(以便我可以使用我喜欢的非终端文本编辑器)并且我在主机上对我的源代码进行更改并保存,热重载是未触发。但是,如果我在客户机上进行/保存更改(为了简单起见,仅使用 nano),热重载确实会触发。

为了澄清,从主机保存的更改会反映在客户机中的文件中,但不会触发热重载。如果我将 helloworld 更改为 Hello, World!在我的主机上,该文件的客户机副本也会说 Hello, World!,但在我也将更改保存在客户机上之前,不会触发热重载。

【问题讨论】:

    标签: reactjs vagrant reload redux vagrantfile


    【解决方案1】:

    这个问题可能是由 Virtualbox 自己的共享文件夹文件系统引起的。

    根据https://github.com/webpack/webpack-dev-server/issues/155,你可以试试这个:

    webpack-dev-server --watch-poll
    

    此外,我相信使用 rsync 将始终有效(但这会稍微改变您的工作流程):

    Webpack dev server reload doesn't work on virtual box

    【讨论】:

    • vagrant rsync-auto 对我不起作用。它真的很慢,并且似乎没有修复 webpack 重新加载。它还与我在共享目录中的一些符号链接冲突。 --watch-poll 选项更容易、更有效,而且不会太慢。
    猜你喜欢
    • 2017-06-07
    • 1970-01-01
    • 2017-09-15
    • 1970-01-01
    • 2016-03-21
    • 1970-01-01
    • 1970-01-01
    • 2014-02-07
    • 2014-05-20
    相关资源
    最近更新 更多