Мы собираемся разработать реактивный pwa с помощью dockersetup и опубликовать приложение на страницах gitlab во время развертывания в основной ветке.
Я работаю на устройстве Windows и не могу получить функцию горячей перезагрузки в режиме разработки. Всякий раз, когда я делаю какие-либо изменения, код не перекомпилируется. Я должен docker-compose up --build
каждый раз для каждого изменения.
Есть ли способ заставить горячую перезагрузку работать на установке windows/docker/create-react-ap
p?
После package.json:
{
"name": "Appname",
"version": "0.1.0",
"private": true,
"dependencies": {
"react": "^16.7.0",
"react-dom": "^16.7.0",
"react-scripts": "2.1.1"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"buildandserver": "react-scripts build && serve -s build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": [
">0.2%",
"not dead",
"not ie <= 11",
"not op_mini all"
]
}
Теперь Dockerfile для Dev-Setup:
FROM node:9.6.1
# set working directory
RUN mkdir /usr/src/app
WORKDIR /usr/src/app
# add `/usr/src/app/node_modules/.bin` to $PATH
ENV PATH /usr/src/app/node_modules/.bin:$PATH
# install and cache app dependencies
COPY package.json /usr/src/app/package.json
RUN npm install
RUN npm install [email protected] -g
# start app
CMD ["npm", "start"]
И хотя бы docker-compose для dev-setup:
version: '3.5'
services:
App-Name:
container_name: App-Name
build:
context: .
dockerfile: devsetup/Dockerfile
volumes:
- './:/usr/src/app'
- '/usr/src/app/node_modules'
ports:
- '3000:3000'
environment:
- NODE_ENV=development
Я запускаю докер для окон на устройстве. Я надеюсь, что кто-нибудь может помочь мне выбраться отсюда... Спасибо!
command
в свою службуdocker-compose
подApp-Name
, чтобы при каждом запуске докера у вас работалnpm start
.npm start
— это тот, кто запускает сервер разработки и ждет изменений. так что вам нужно сделатьdocker-compose up
один раз и готово. - person Panther   schedule 27.12.2018command: "npm start"
прямо подcontainer_name: App-Name
, но он все еще не компилируется, когда я что-то меняю. Я также новичок в docker/docker-compose. Мы проектная группа, и я не устанавливал докеры. Тот, кто это сделал, работает с mac/linux :) - person Alex   schedule 27.12.2018dockerstart": "npm install; ng serve --host 0.0.0.0 --poll=1000
в своем файле package.json. Может быть, есть похожее решение моей проблемы с реакцией - person Alex   schedule 27.12.2018file change events are not getting notified inside the docker
, чтоdevserver
никогда не знает, когда перекомпилировать. Попробуйте добавитьpoll: true
кwebpack config
, как описано в webpack.js.org/configuration/watch. Это может помочь вам. Также сохраните командуnpm start
вdocker-compse
, чтобы вам не приходилось каждый раз создавать контейнер. - person Panther   schedule 27.12.2018"start": "CHOKIDAR_USEPOLLING=true react-scripts start",
- person Alex   schedule 27.12.2018