我正在尝试使用Docker容器在Windows 10计算机上开始使用React Native。我运行了一个应用程序,并通过LAN连接到它,但是当我更改代码时,即使我摇晃并按Reload,它也不会在我的设备上更改。
我正在Android手机上使用Expo客户端打开该应用程序。该应用程序是expo init
提供的基本的多页模板。正如它建议的那样,我编辑了screens/HomeScreen.js
,但是应用程序没有更改。我启用了实时重装和热重装。按重新加载可重新加载应用程序,但保持不变。当我cat
容器中的文件被更改时,恰好发生了打包程序无法获取更改的情况。
我具有以下文件夹结构:
.
├── dev
│ ├── MyProject1
│ └── Dockerfile
└── docker-compose.yml
docker-compose.yml:
version: '3'
services:
app:
build: ./dev
volumes:
- ./dev:/code
environment:
- REACT_NATIVE_PACKAGER_HOSTNAME=192.168.1.19
working_dir: /code/MyProject1
command: expo start
ports:
- "19000:19000"
- "19001:19001"
- "19002:19002"
Dockerfile:
FROM node:11.5.0-alpine
RUN apk add bash
RUN mkdir /code
WORKDIR /code
RUN npm install -g expo-cli
MyProject1文件夹包含应用程序本身。
答案 0 :(得分:1)
有点晚了,但也许对某人有帮助。
我遇到了同样的问题,并通过使用'chokidar'https://www.npmjs.com/package/chokidar解决了
在安装chokidar之后,您必须在docker-compose.yml文件中进行更改:
command: CHOKIDAR_USEPOLLING=true expo start
注意::我在Windows 10计算机上尝试了此操作,但没有实时重新加载。但是,在Ubuntu机器上执行此操作可以达到预期目的。