vue项目路径不正确,自动跳转404
第一种方法
使用vuerouter钩子函数beforeEach,每次进行路由跳转时都进行判断,若页面不存在就跳转到404页面。
import Error from ' ' const router = new Router({ routes:[ name: 'error', path: '/error', component: Error ] } //beforeEach每次进行路由跳转时都会执行 router.beforeEach((to,from,next){ if(to.matched.length === 0){ from.path ? next({name: from.name}) : next('/error') }else{ next() } }) export default router
第二种
redirect重定向
{ path: '/404', component: () => import('@/views/error-page/404'), hidden: true }, //这个*匹配必须放在最后,将改路由配置放到所有路由的配置信息的最后,否则会其他路由path匹配造成影响。 { path: '*', redirect: '/404', hidden: true }
vue路由判断跳转404页面
beforeEach函数 这是路由跳转前处理的函数
import PageNotFound from '@/views/pages/404.vue' Vue.use(Router) const routes=[ { path: '*', name: 'PageNotFound', component: PageNotFound, }, ] const router = new Router({ mode: 'history', routes: routes }) router.beforeEach((to, from, next) => { // 从其他地方访问是否有这个地址 if(to.matched.length == 0){ from.path ? next({name: from.name}) : next('*') } next(); });
第二种方法就是重定向地址 同上
修改routes中的地址
{ path: '/404', name: 'PageNotFound', component: PageNotFound, }, { path:'*', redirect:'/404' }
以上为个人经验,希望能给大家一个参考,也希望大家多多支持本站。