使用 Docker 在 Windows 上创建-react-app livereload

Create-react-app livereload with Docker on Windows

我正尝试在 Windows 10(Linux 容器模式)上 运行 docker 到 运行 React 开发工作区。我设法 运行 React 应用程序样板,但 livereloading 不工作。

这里有一些细节:

  1. Dockerfile 公开了 5000 和 35729 端口
  2. 通过 docker execcreate-react-app . 命令在容器内安装和创建文件
  3. WS 请求状态为 101(正确)

Docker 文件:

FROM node:latest

#installing react app first
RUN npm install -g create-react-app

VOLUME [ "/application" ]

#First example was EXPOSE 3000 35729
EXPOSE 3000
EXPOSE 35729
  1. 构建命令: docker build . -t react-image

  2. 运行 命令: docker run -d -p 3000:3000 -p 35729:35729 -v %PATH_TO_APP_FOLDER%\application:/application --name react-container react-image

  3. 执行命令: docker exec -it react-container bash

然后在容器里面:

输出:

Compiled successfully!

You can now view application in the browser.

Local: http://localhost:3000/ On Your Network: http://172.17.0.2:3000/

Note that the development build is not optimized. To create a production build, use yarn build.

打开后:http://localhost:3000一切似乎都正常。如果我从主机更改文件,容器内的文件也会更改(使用 cat App.js 检查)。但是更改文件不会触发 webpack 重新编译和 livereload。

有什么建议吗?

如果我需要提供更多详细信息,请告诉我。谢谢

这可以通过在 webpack 配置中将 watchOptions.poll 设置为 true 来解决: References