VueJS路由器处于哈希模式:如果找不到文件,则路由到错误页面

时间:2018-10-15 16:34:17

标签: vue.js url-routing vue-router

我在哈希模式下的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是否正确。

但是,使用http://localhost:8080/audio/some_nonexsisting_file.ogg这样的网址,路由器不会执行任何操作(它不会调用beforeEach),只会显示空白页。

是否有解决方法?

0 个答案:

没有答案