#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, поэтому вам вообще не понадобятся сокеты. Я отредактирую свой ответ…