我有一个非常基本的react/redux应用程序,利用热重载(即当我保存对源代码的更改时,它会通过webpack相应地在浏览器中更新我的应用程序的内容,保留我的应用程序的状态)。这适用于 myhost 机器。
但是,如果我使用带有同步文件夹的基于 vagrant 的工作流程(以便我可以使用我喜欢的非终端文本编辑器),并且我在主机上对源代码进行了更改并保存,则热重载是未触发。但是,如果我在 guest 计算机上进行/保存更改(为了简单起见,仅使用 nano),则会触发热重载。
需要澄清的是,从主机保存的更改会反射(reflect)在 guest 计算机中的文件中,但不会触发热重载。如果我将 helloworld 更改为 Hello, World!在我的主机上,该文件的 guest 计算机副本也会显示“Hello, World!”,但除非我也在 guest 计算机上保存该更改,否则不会触发热重载。
最佳答案
此问题可能是由 Virtualbox 自己的共享文件夹文件系统引起的。
根据https://github.com/webpack/webpack-dev-server/issues/155 ,你也许可以尝试这个:
webpack-dev-server --watch-poll
此外,我相信使用 rsync 始终有效(但这会稍微改变您的工作流程):
关于reactjs - 如何使用 Vagrant VM 通过共享文件夹启用热重载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34937294/