Я использую последнюю версию VueJS с vue-cli-service в dockerized dev-среде. Все работает отлично, за исключением уведомлений vuejs / webpack при изменении файлов. (Из-за отсутствия inotify.) Он работает точно так же, как и должен в OSX.
Я исследовал и нашел параметр configureWebpack для vue.js.config и включил опрос, но не повезло - все еще не работает под Windows.
Вот мой docker-compose.yml, мой Dockerfile для образа vuejs и vue.config.js. У кого-нибудь еще эта настройка работает под окнами, и они могут увидеть, что я делаю не так?
Dockerfile
FROM node:10.8.0-alpine
# Install Vue Cli via node
RUN npm install -g @vue/cli @vue/cli-service-global
RUN mkdir /src
WORKDIR /src
COPY ./src/package* /src/
RUN npm install
docker-compose.yml
version: '3'
services:
web:
build: './web'
volumes:
- /src/node_modules
- ./web/src:/src
working_dir: /src
ports:
- "4000:8080"
command: npm run serve
# stdin_open: true
# tty: true
api:
build: './api'
volumes:
- ./api/src:/src
working_dir: /src
ports:
- "3000:3000"
command: rails s
depends_on:
- data
# stdin_open: true
# tty: true
data:
build: './data'
volumes:
- data-postgresql:/var/lib/postgresql/data
ports:
- "5432:5432"
volumes:
data-postgresql:
external: true
vue.config.js
module.exports = {
configureWebpack: {
watchOptions: {
ignored: /node_modules/,
poll: 1000
}
}
}
Решено. Наконец. Благодаря случайному примеру конфигурации веб-пакета где-то.
Параметры наблюдения vue.config.js должны быть на один уровень ниже, чем "devServer". Кажется, это работает:
vue.config.js
module.exports = {
configureWebpack: {
devServer: {
watchOptions: {
ignored: /node_modules/,
poll: 1000
}
}
}
}