Отвечая на мой собственный вопрос, я нашел способ решить эту проблему.
В 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 */]
}
];