Маршрутизатор VueJS в режиме хэширования: путь к странице ошибки, если файл не найден - PullRequest
0 голосов
/ 15 октября 2018

У меня проблемы с маршрутизатором VueJS в хэш-режиме.

Вот как выглядит конфигурация маршрутизатора:

{
    mode: 'hash',
    base: process.env.BASE_URL,
    routes: [
        {
            path: '/',
            name: 'game',
            component: () => import(/* webpackChunkName: 'game-page' */ '@/app/views/GamePage.vue'),
            meta: { title: 'Game', },
        },
        {
            path: '*',
            name: '404',
            component: () => import(/* webpackChunkName: '404-page' */ '@/app/views/404Page.vue'),
        },
    ],
}

Мне нужно использовать хэш-режим, так какЯ разрабатываю для Cordova, но теперь я сталкиваюсь со следующим:

Символ * не сопоставляется, если в URL нет #.

В некоторых случаях beforeEachдо сих пор называется, так что я могу решить все сам.Например, http://localhost:8080/audio вызывает beforeEach, и я могу вручную проверить, правильно ли window.location.

Однако с URL-адресом, подобным http://localhost:8080/audio/some_nonexsisting_file.ogg, маршрутизатор ничего не делает (он не вызываетbeforeEach) и просто показывает пустую страницу.

Есть ли обходной путь для этого?

...