Горячая перезагрузка не работает в React Native с использованием Docker - PullRequest
0 голосов
/ 27 декабря 2018

Я пытаюсь начать работу с React Native на моем компьютере с Windows 10, используя контейнеры Docker.У меня запущено приложение, я подключаюсь к нему через локальную сеть, но когда я изменяю код, он не меняется на моем устройстве, даже если я встряхиваю и нажимаю Перезагрузить.

Я использую клиент Expoна моем телефоне Android, чтобы открыть приложение.Приложение представляет собой базовый шаблон для нескольких страниц, предлагаемый expo init.Как и предполагалось, я отредактировал screens/HomeScreen.js, но приложение не изменилось.У меня активирована Live Перезагрузка и Горячая перезагрузка.Нажатие «Перезагрузить» перезагружает приложение, но оно остается прежним.Когда я 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 содержит само приложение.

1 Ответ

0 голосов
/ 02 августа 2019

Немного поздно, но, может быть, это кому-нибудь поможет.

У меня возникла та же проблема, и я решил ее с помощью 'chokidar' https://www.npmjs.com/package/chokidar.

После установки chokidar вы могли быМне нужно изменить это в файле docker-compose.yml: command: CHOKIDAR_USEPOLLING=true expo start

Примечание: Я пробовал это на машине с Windows 10, но перезагрузка не выполнялась.Тем не менее, выполнение этого на машине с Ubuntu работало как задумано.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...