create-react-app 热重载仅在子目录中 docker-compose 为 运行 时有效
create-react-app hot-reloading only works when docker-compose is run in subdirectory
我有一个项目,在一个子目录中包含一个 Django Rest Framework 服务器,在第二个子目录中包含一个 create-react-app 应用程序。每个子目录包含一个 Dockerfile。
项目目录有一个docker-compose.yml启动了一个postgres数据库服务和DRF服务。
create-react-app 应用程序子目录有自己的 docker-compose.yml 文件。如果我 cd 到这个子目录并且 运行 docker-compose up,create-react-app 应用服务响应通过热重载应用程序来获取更改。
如果我运行项目目录docker-compose.yml文件中的create-react-app应用服务,create-react-app应用服务不会热重载更改源时的应用程序。
这里是create-react-app应用子目录下的docker-compose.yml:
version: '3'
services:
admin.ui:
build:
context: .
volumes:
- '.:/frontend'
- '/frontend/node_modules'
ports:
- "3000:3000"
environment:
- CHOKIDAR_USEPOLLING=true
stdin_open: true
tty: true
networks:
- simpl
networks:
simpl:
external:
name: simpl-games-api_simpl
这是配置 create-react-app 应用服务的项目 docker-compose.yml 部分:
admin.ui:
build:
context: ./simpl_admin_frontend
volumes:
- '.:/simpl_admin_frontend/frontend'
- '/simpl_admin_frontend/frontend/node_modules'
ports:
- "3000:3000"
environment:
- CHOKIDAR_USEPOLLING=true
stdin_open: true
tty: true
networks:
- simpl
如何修改项目级别 docker-compose.yml 以支持热重载?
更改项目docker-如下编写启用热重载。
admin.ui:
build:
context: ./simpl_admin_frontend
volumes:
- './simpl_admin_frontend:/frontend'
- '/frontend/node_modules'
ports:
- "3000:3000"
environment:
- CHOKIDAR_USEPOLLING=true
stdin_open: true
tty: true
networks:
- simpl
在
中找到了这个解决方案
我有一个项目,在一个子目录中包含一个 Django Rest Framework 服务器,在第二个子目录中包含一个 create-react-app 应用程序。每个子目录包含一个 Dockerfile。
项目目录有一个docker-compose.yml启动了一个postgres数据库服务和DRF服务。
create-react-app 应用程序子目录有自己的 docker-compose.yml 文件。如果我 cd 到这个子目录并且 运行 docker-compose up,create-react-app 应用服务响应通过热重载应用程序来获取更改。
如果我运行项目目录docker-compose.yml文件中的create-react-app应用服务,create-react-app应用服务不会热重载更改源时的应用程序。
这里是create-react-app应用子目录下的docker-compose.yml:
version: '3'
services:
admin.ui:
build:
context: .
volumes:
- '.:/frontend'
- '/frontend/node_modules'
ports:
- "3000:3000"
environment:
- CHOKIDAR_USEPOLLING=true
stdin_open: true
tty: true
networks:
- simpl
networks:
simpl:
external:
name: simpl-games-api_simpl
这是配置 create-react-app 应用服务的项目 docker-compose.yml 部分:
admin.ui:
build:
context: ./simpl_admin_frontend
volumes:
- '.:/simpl_admin_frontend/frontend'
- '/simpl_admin_frontend/frontend/node_modules'
ports:
- "3000:3000"
environment:
- CHOKIDAR_USEPOLLING=true
stdin_open: true
tty: true
networks:
- simpl
如何修改项目级别 docker-compose.yml 以支持热重载?
更改项目docker-如下编写启用热重载。
admin.ui:
build:
context: ./simpl_admin_frontend
volumes:
- './simpl_admin_frontend:/frontend'
- '/frontend/node_modules'
ports:
- "3000:3000"
environment:
- CHOKIDAR_USEPOLLING=true
stdin_open: true
tty: true
networks:
- simpl
在