Как настроить Quasar SPA / Webpack dev server для запуска в подпапке для прокси с помощью Apache? - PullRequest
0 голосов
/ 28 октября 2019

Мне нужна следующая настройка dev:

  • http://mydevhost/ обслуживание обычного приложения PHP
  • http://mydevhost/admin/ обслуживание сервера разработки Webpack (Quasar SPA)

Теперь я настроил прокси на Apache с такой строкой в ​​vhost:

ProxyPass "/admin/" "http://localhost:8080/"

Прокси работает, но Webpack не может загрузить ресурсы, так какхочет http://mydevhost/app.js вместо http://mydevhost/admin/app.js. Я пытался настроить publicPath и filename в quasar.conf.js до /admin/, но безуспешно (все еще ищу /app.js).

Как этого добиться?

1 Ответ

0 голосов
/ 03 ноября 2019

Отвечая на мой собственный вопрос, я нашел способ решить эту проблему.

В Apache vhost настройте прокси-сервер для сервера webpack (обслуживающий на http://localhost:8080):

ProxyPassMatch ^/admin(?!/api)(/.*)$ http://localhost:8080/admin$1
ProxyPassReverse ^/admin(?!/api)(/.*)$ http://localhost:8080/admin$1
ProxyPassMatch ^/((?:.*js)|(?:statics|sock-node|fonts|img)/.*)$ http://localhost:8080/$1
ProxyPassReverse ^/((?:.*js)|(?:statics|sock-node|fonts|img)/.*)$ http://localhost:8080/$1

Все маршруты, начинающиеся с /admin, теперь будут обрабатываться с помощью VueRouter, кроме одного, начинающегося с /admin/api.

Затем в VueRouter настройте все маршруты для запуска с /admin.

const routes: RouteConfig[] = [
    {
        path: '/admin',
        component: () => import('layouts/DefaultLayout.vue'),
        children: [/* put other routes here */]
    }
];
...