懒加载
懒加载:避免单页面应用一次性加载全部组件造成加载时间过长。 使用:
routes
: [
{
path
: '/Login',
name
: 'Login',
component
: resolve
=> require(['@/views/Login'], resolve
)
}
...
]
跳转或加载路由时报错 Loading chunk {n} failed
使用懒加载会经常导致导航点击没用,加载模块出现错误 解决:在当前文件中加入vue-routerrouter的错误处理函数onError来捕获错误
const router
= new Router({
routes
});
router
.onError((error
) => {
const pattern
= /Loading chunk (\d)+ failed/g;
const isChunkLoadFailed
= error
.message
.match(pattern
);
const targetPath
= router
.history
.pending
.fullPath
;
if (isChunkLoadFailed
) {
router
.replace(targetPath
);
}
})
用该方法处理之后,错误会依然打印,但是会成功重新渲染模块