Razzle: Получение razzle для запуска в контейнере Docker dev

Созданный на 1 дек. 2017  ·  3Комментарии  ·  Источник: jaredpalmer/razzle

Изучая проблемы в этом репозитории, кажется, что некоторые из участников знакомы с использованием докера, поэтому, возможно, кто-то может мне немного помочь. Я пытаюсь настроить рабочий процесс разработки с помощью докера и иметь возможность реагировать на hmr внутри контейнера докера. Цель состоит в том, чтобы получить работающее решение без особого взлома базового проекта razzle-create-app. Я создал свой файл докеров следующим образом:

FROM node:6

WORKDIR /home/node/app

EXPOSE 3000
EXPOSE 3001

CMD ["npm", "start"]

затем я запускаю контейнер с каталогом dev, смонтированным как том с
docker run --name hmr-test -d -p 8080:3000 -p 3001:3001 -v C:\Users\charles\Desktop\docker-hmr-test\ui-service:/home/node/app docker-hmr

Приложение запускается и отображается правильно, но razzle не улавливает никаких изменений, внесенных в локальную файловую систему. Если я запускаю bash в контейнере и просматриваю файлы, я вижу, что они обновляются правильно, и razzle запускается из правильного каталога в контейнере, так почему же razzle не распознает файлы и не перестраивает?

Самый полезный комментарий

Эта проблема связана с известной проблемой, работающей в докере. Запуск контейнера из среды Windows не передает события файла в контейнер Docker с собственной функциональностью. Текущий обходной путь, пока не реализована собственная функциональность, заключается в использовании опроса веб-пакета в контейнере докера, чтобы позволить веб-пакету опрашивать изменения файловой системы. Поэтому вам нужно добавить это в файл razzle.config.js, чтобы hmr мог видеть обновления:

       if(config.devServer){
            config.devServer.watchOptions['poll'] = 1000;
            config.devServer.watchOptions['aggregateTimeout'] = 300;
        }

@jaredpalmer Если это то, для чего вы хотели бы создать ветку функций, я мог бы придумать что-нибудь для PR. Просто дай мне знать. Спасибо за создание этого замечательного набора для начинающих.

Все 3 Комментарий

Эта проблема связана с известной проблемой, работающей в докере. Запуск контейнера из среды Windows не передает события файла в контейнер Docker с собственной функциональностью. Текущий обходной путь, пока не реализована собственная функциональность, заключается в использовании опроса веб-пакета в контейнере докера, чтобы позволить веб-пакету опрашивать изменения файловой системы. Поэтому вам нужно добавить это в файл razzle.config.js, чтобы hmr мог видеть обновления:

       if(config.devServer){
            config.devServer.watchOptions['poll'] = 1000;
            config.devServer.watchOptions['aggregateTimeout'] = 300;
        }

@jaredpalmer Если это то, для чего вы хотели бы создать ветку функций, я мог бы придумать что-нибудь для PR. Просто дай мне знать. Спасибо за создание этого замечательного набора для начинающих.

@alexjoyner святой моли. Спасибо, что разобрались. Я не специалист по javascript, так что это мне очень помогло.

конфиг у меня не работал. похоже, что он обновляется, но не отображается в браузере.

следующий журнал показывает запуск и изменение файла.

0|razzle   |
0|razzle   | > [email protected] start /app/razzle/razzle
0|razzle   | > razzle start
0|razzle   |
0|razzle   |  WAIT  Compiling...
0|razzle   |
0|razzle   | ℹ Compiling Client
0|razzle   | ℹ 「wds」: Project is running at http://apps.syntapse.co.uk:3001/
0|razzle   | ℹ 「wds」: webpack output is served from undefined
0|razzle   | ℹ 「wds」: Content not from webpack is served from /app/razzle/razzle
0|razzle   | ℹ 「wds」: 404s will fallback to /index.html

0|razzle  | ✔ Client: Compiled successfully in 8.28s
0|razzle  | ℹ Compiling Server
0|razzle  | ✔ Server: Compiled successfully in 765.85ms
0|razzle  | Warning: Please use `require("react-router-dom").Route` instead of `require("react-router-dom/Rout0|razzle  | Warning: Please use `require("react-router-dom").Switch` instead of `require("react-router-dom/Swi0|razzle  | ✅  Server-side HMR Enabled!
0|razzle  | 🚀 started
0|razzle  | ℹ Compiling Server
0|razzle  | ✔ Server: Compiled successfully in 88.70ms
0|razzle  | 🔁  HMR Reloading `./server`...
0|razzle  | [HMR] Updated modules:
0|razzle  | [HMR]  - ./src/Home.js
0|razzle  | [HMR]  - ./src/App.js
0|razzle  | [HMR]  - ./src/server.js
0|razzle  | [HMR] Update applied.
0|razzle  | ℹ Compiling Client
0|razzle  | ✔ Client: Compiled successfully in 73.55ms
0|razzle  | ℹ Compiling Client
0|razzle  | ✔ Client: Compiled successfully in 228.31ms
Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

dizzyn picture dizzyn  ·  3Комментарии

GouthamKD picture GouthamKD  ·  3Комментарии

corydeppen picture corydeppen  ·  3Комментарии

MaxGoh picture MaxGoh  ·  4Комментарии

Jayphen picture Jayphen  ·  4Комментарии