reactjs - dockerized react - 如何自动启用热重载
问题描述
我目前正在对接 MERN 应用程序。
应用分为 2 个,前端的 react 应用和后端的 express 应用。
目标是在反应应用程序上启用热重载。
这是我的docker-compose.yml
文件:
version: '3'
services:
mango:
container_name: mango
image: nginx:alpine
ports:
- 3000:80
volumes:
- ./docker/app/nginx.conf:/etc/nginx/conf.d/default.conf
- ./build:/usr/share/nginx/html
depends_on:
- mango-builder
command: "/bin/sh -c 'nginx -g \"daemon off;\"'"
logging:
options:
max-size: "10m"
max-file: "3"
networks:
- local_network
mango-builder:
container_name: mango-builder
image: node:12.13.0
working_dir: /app
volumes:
- .:/app
command: bash -c "rm -rf /app/package-lock.json && rm -rf /app/yarn.lock && yarn && if [ `$NODE_ENV` = `development` ]; then yarn run start; else yarn run build; fi"
logging:
options:
max-size: "10m"
max-file: "3"
networks:
- local_network
networks:
local_network:
注意:
- 当
NODE_ENV
设置为development
时,它将运行yarn run start
命令。 - 每当有反应组件更改时,yarn 都会尝试重新编译依赖项
mango-builder
将首先在mango
- 该
build
文件夹由 生成mango-builder
,然后附加到mango
(检查volumes
部分) - react 应用在浏览器上运行良好
当我尝试更改反应模块时,不知何故热重载不起作用。
我有一种感觉,我需要yarn run start
在后台继续运行,但我不知道该怎么做。
有什么想法吗?
解决方案
推荐阅读
- image - 我可以使用 Unet 分割和保存感兴趣的区域吗?
- c# - 从 Visual Studio 2019 在 C# 应用程序中运行 PS 命令时出现脚本执行策略错误
- python - 如何通过这个函数得到一个 Big-θ?
- flutter - 为什么我的下拉小部件在包含值时出现错误
- javascript - 将 Javascript 和 Css 添加到 Wordpress 页面
- count - INSERT 返回 0 后立即在 clickhouse 中运行 COUNT
- javascript - 空行如何在 JavaScript 中给出错误(未捕获的语法错误:输入的意外结束)
- graalvm - GraalVM 多语言上下文内存使用情况
- go - 如何通过 golang unixgram 响应请求
- visual-studio-code - 如何在扩展主机启动时附加 LSP 调试,而不是手动附加