如何在 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
首先,这是我一直在谈论的回购协议:Github
在我装有 Docker 的 Macbook 中,这工作得很好。但我一直在尝试使用 WLS(Ubuntu inside Windows)。我跟进了 this tutorial 如何在 WLS 中处理 Docker(以及如何处理卷)
有效,我更改了主机中的代码 (Windows),实际上它在容器内部发生了变化(Docker 在 Linux 中),但是对于某些原因,应用程序不刷新。
我正在使用两个应用程序,一个是 React 应用程序(使用 react-scripts
),另一个是 Express(使用 nodemon
)。两者都不会重新加载更改。
有什么问题吗?
关于 nodemon 的部分在这个线程中得到了回答:
编辑这个,因为我也找到了反应客户端问题的解决方案。诀窍是为你的反应容器使用环境标志 - CHOKIDAR_USEPOLLING=true 。我在我的 docker-compose 中设置如下:
environment:
- CHOKIDAR_USEPOLLING=true