首页 > 解决方案 > 如何在 React 应用程序、Docker 内部、WSL 内部处理热重载?

问题描述

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

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

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

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

有什么问题?

标签: reactjsdockerexpresswindows-subsystem-for-linux

解决方案


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

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

environment:
  - CHOKIDAR_USEPOLLING=true

推荐阅读