Как запустить WebPack DevServer в контейнере? - PullRequest
1 голос
/ 03 мая 2020

Скажем, мы хотим развиваться в среде , а не localhost из-за X-Frame-Options и других средств защиты браузера, но не хотим каждый раз выполнять полное развертывание.

В частности, на Windows, Vue JS и прокси Traefik.

В идеале без создания нового изображения.

1 Ответ

1 голос
/ 03 мая 2020

Чтобы это работало, вам нужно включить изменение имени хоста publi c, как описано в Я получаю сообщение «Недопустимый заголовок хоста» при запуске моего приложения React на сервере Webpack dev на Cloud9. io

Для Vue Я только что добавил файл vue.config.js с самым простым, но наименее безопасным решением, проверьте связанное решение для более безопасного.

module.exports = {
  configureWebpack: {
    devServer: {
      compress: true,
      disableHostCheck: true,
    }
  }
}

Используя технику в Используя Docker -Создайте, как выполнить несколько команд , мы можем cd в папку /work/ и запустить npm run serve (или любую эквивалентную команду для вашей среды) .

services:
  vue:
    image: node:lts
    networks:
      - intranet
    volumes:
      - /d/p/spring-cloud-demo/vue-app:/work
    command: >
      bash -c "cd /work
      && npm run serve"
    deploy:
      labels:
        - traefik.enable=true
        - traefik.http.routers.vue.rule=PathPrefix(`/`)
        - traefik.http.services.vue.loadbalancer.server.port=8080

Для того, чтобы просмотр файлов томов работал на Windows машинах. Вам нужен https://github.com/merofeev/docker-windows-volume-watcher, который будет передавать изменения в контейнер Docker, в который был изменен файл, чтобы devServer мог запустить сборку.

...