Маршрутизация с использованием Express и Vue - PullRequest
1 голос
/ 10 июля 2020

Я делаю простую страницу с индексом '/' и 404, чтобы отлавливать ошибки '/404'.

В моем приложении express есть следующее:

// Entry Point
app.use("/", express.static(resolve(__dirname, "client/dist")));

Тогда это мой маршрутизатор в Vue

const routes = [
    {
        path: '/',
        name: 'Home',
        component: Home,
    },
    {
        path: '/404',
        name: 'PageNotFoumd',
        component: () => import('../components/modules/PageNotFound'),
    },
    {
        path: '*',
        redirect: '/404',
    },
];

const router = new VueRouter({
    mode: 'history',
    base: '/',
    routes,
});

Итак, если я разверну свое клиентское приложение и я go на '/ 13eo31be', он перенаправит меня на '/ 404' используя маршрутизатор Vue. Однако, если я создаю приложение Vue и запускаю его через свой сервер (как оно обычно работает на веб-сайтах), вот результат:

  • '/' => '/'
  • '/ 404' => не может получить / 404 - должен go к '/ 404'
  • '/ 2323f2f' => не может получить / 2323f2f - должен go к '/ 404'

Как я могу разрешить express передавать данные перенаправления на Vue маршрутизатор?

1 Ответ

1 голос
/ 10 июля 2020

Неважно, это была простая проблема.

Мне просто пришлось передать '/ 404' в тот же индексный файл, что и '/'.

app.use("/404", express.static(config.path));

...