У меня проблемы с маршрутизатором 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
) и просто показывает пустую страницу.
Есть ли обходной путь для этого?