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

How to handle Hot Reloading in a React app, inside Docker, inside WSL?

首先,这是我一直在谈论的回购协议:Github

在我装有 Docker 的 Macbook 中,这工作得很好。但我一直在尝试使用 WLS(Ubuntu inside Windows)。我跟进了 this tutorial 如何在 WLS 中处理 Docker(以及如何处理卷)

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

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

有什么问题吗?

关于 nodemon 的部分在这个线程中得到了回答:。简短的回答是使用 -L 标志启动 nodemon 以启用遗留文件轮询。

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

environment:
  - CHOKIDAR_USEPOLLING=true