React App 是一个基于 React 框架构建的前端应用程序。React 是一个用于构建用户界面的 JavaScript 库。
Docker-Compose 是一个工具,用于定义和运行多容器 Docker 应用程序。通过一个 docker-compose.yml
文件,你可以配置多个服务(如 Web 服务器、数据库等),并定义它们之间的依赖关系。
React App 在使用 Docker-Compose 运行时,不会自动刷新更改。
react-hot-loader
或 webpack-dev-server
),可能需要额外配置才能在 Docker 环境中正常工作。确保在 docker-compose.yml
文件中正确挂载了本地目录到容器内,以便容器能够监听到本地文件的更改。
version: '3'
services:
web:
build: .
volumes:
- .:/app
- /app/node_modules
ports:
- "3000:3000"
如果你使用了 webpack-dev-server
,可以在 docker-compose.yml
中配置环境变量来启用热重载。
version: '3'
services:
web:
build: .
volumes:
- .:/app
- /app/node_modules
ports:
- "3000:3000"
environment:
- CHOKIDAR_USEPOLLING=true
nodemon
nodemon
是一个工具,可以在检测到文件更改时自动重启应用。你可以在 Dockerfile 中安装并使用它。
FROM node:14
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm install -g nodemon
CMD ["nodemon", "npm", "start"]
然后在 docker-compose.yml
中使用这个 Dockerfile 构建的镜像。
version: '3'
services:
web:
build: .
volumes:
- .:/app
- /app/node_modules
ports:
- "3000:3000"
通过以上方法,你应该能够解决 React App 在 Docker-Compose 环境下不会自动刷新更改的问题。
领取专属 10元无门槛券
手把手带您无忧上云