【问题标题】:Create-react-app livereload with Docker on Windows在 Windows 上使用 Docker 创建反应应用程序 livereload
【发布时间】:2018-06-07 09:39:21
【问题描述】:

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

这里有一些细节:

  1. Dockerfile 暴露了 5000 和 35729 端口
  2. 文件通过docker execcreate-react-app .命令在容器内挂载和创建
  3. 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
  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

然后在容器内:

  • cd application
  • create-react-app .
  • yarn start

输出:

编译成功!

您现在可以在浏览器中查看应用程序。

本地:http://localhost:3000/ 在您的网络上: http://172.17.0.2:3000/

请注意,开发版本未优化。创建一个 生产构建,使用纱线构建。

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

有什么建议吗?

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

【问题讨论】:

    标签: reactjs docker create-react-app


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2022-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-15
      • 2020-02-18
      • 2020-04-10
      • 1970-01-01
      相关资源
      最近更新 更多