如何在 React 应用程序、Docker 内部、WSL 内部处理热重载?

FMG*_*llo 3 express docker reactjs windows-subsystem-for-linux

首先,这是我一直在谈论的存储库:Github

在我的带有 Docker 的 Macbook 上,这工作得很好。但我一直在尝试使用WLS(Windows内的Ubuntu)。我已经跟进了本教程,了解如何在 WLS 中处理 Docker(以及如何处理卷)

它有效,我更改了主机(Windows)中的代码,实际上它在容器(Linux 中的 Docker)内部发生了变化,但由于某种原因,应用程序不会刷新

我正在使用两个应用程序,一个是 React 应用程序(使用react-scripts),另一个是 Express 应用程序(使用nodemon)。两者都不会在更改时重新加载。

可能出什么问题了?

Chr*_*lom 5

关于nodemon的部分在这个线程中得到了回答:Nodemon在Windows Docker环境中不重新启动。简短的答案是使用 -L 标志启动 nodemon 以启用旧文件轮询。

编辑此内容是因为我也找到了反应客户端问题的解决方案。诀窍是为您的反应容器使用环境标志 - CHOKIDAR_USEPOLLING=true。我把它设置在我的 docker-compose 中,如下所示:

environment:
  - CHOKIDAR_USEPOLLING=true
Run Code Online (Sandbox Code Playgroud)

  • 谢谢你!我已经阅读了该帖子,我上面的回复有什么特别错误的地方吗? (3认同)