我正在尝试在 Windows 10(Linux 容器模式)上运行 docker 来运行 React 开发工作区。我设法运行 React 应用程序样板,但实时重新加载不起作用。
以下是一些详细信息:
- Dockerfile 暴露了 5000 和 35729 端口
- 通过
docker exec
和create-react-app .
命令在容器内挂载和创建文件 - WS 请求状态为 101(正确)
Dockerfile:
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
构建命令:
docker build 。 -t react 图像
运行命令:
docker run -d -p 3000:3000 -p 35729:35729 -v %PATH_TO_APP_FOLDER%\application:/application --name React-container React -图像
执行命令:
docker exec -it react-container bash
然后在容器内:
CD 应用程序
创建react-app。
yarn 开始
输出:
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
关于reactjs - 在 Windows 上使用 Docker 创建 react 应用程序 livereload,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47980383/