Vue.js горячая перезагрузка через .. apache?

#vue.js

#vue.js

Вопрос:

Итак, мой серверный сервер основан на PHP (processwire), обслуживаемый надежным старым MAMP ( localhost:8888/mysite ). Я хотел бы обслуживать свой vue.js приложение также с того же сервера.

npm run dev запускает локальный сервер localhost:8080 , который работает для выполнения интерфейсных задач, горячей перезагрузки и всего остального.

С npm run build помощью я могу создать свое приложение, чтобы его можно было обслуживать из MAMP.

Но как я могу заставить горячую перезагрузку работать над MAMP, чтобы я мог продолжать разработку через apache (используя localhost:8888/mysite )? Возможно ли это?

Спасибо!

Ответ №1:

Я пытался, но не смог заставить горячую загрузку работать, проксируя через Apache. Наоборот, было не так сложно, в webpack.config.js:

 proxy: {
      '/mysite/api/**': {
        target: 'http://localhost:8888',
        secure: false,
        "changeOrigin": true
      }
    }
  

Ответ №2:

Для его запуска вам нужен dev-сервер из webpack.

Но вы могли бы использовать apache в качестве прокси для этого. Вероятно, это может сработать (предположим, что Apache работает на webpack-dev-сервере localhost:8080

 ProxyPass        /mysite http://localhost:8080/mysite
ProxyPassReverse /mysite http://localhost:8080/mysite
  

Итак, самое сложное — сообщить Webpack серверу под /mysite . Это зависит от вашей конфигурации. Если вы пришли из шаблона Vue webpack (сгенерированного с помощью vue-cli), у вас assetsPublicPath в вашем /config/index.js

Комментарии:

1. .. Вы имеете в виду использование dev-сервера в качестве прокси для apache? Нравится это? nikolay.rocks/2016-01-13-подключение веб-пакета к бэкэнду

2. Я думаю, вы хотите обойти. Использовать Apache для прокси / mysite для webpack? В моих инструментах разработки я увидел localhost:8080/__webpack_hmr относится к типу eventsource, поэтому вам вообще не понадобятся сокеты. Я отредактирую свой ответ…