await 打包报错,如何解决?
来源:11-7 动态路由

河畔一角
2021-06-19
await 打包报错,如何解决?
1回答
-
河畔一角
提问者
2021-06-19
路由中的await在开发环境下面不报错,但是打包到线上用不了,目前给的方案是:
await loadAsyncRoutes(); 修改成 loadAsyncRoutes();同时,把路由钩子放到接口里面进行调用,比如:
```js
async function loadAsyncRoutes() {
let userInfo = storage.getItem('userInfo') || {}
if (userInfo.token) {
try {
const { menuList } = await API.getPermissionList()
let routes = utils.generateRoute(menuList)
const modules = import.meta.glob('../views/*.vue')
console.log('views',modules)
routes.map(route => {
let url = `../views/${route.name}.vue`
route.component = modules[url];
router.addRoute("home", route);
})
// 导航守卫
router.beforeEach((to, from, next) => {
if (router.hasRoute(to.name)) {
document.title = to.meta.title;
next()
} else {
next('/404')
}
})
} catch (error) {
}
}
}
```
112021-07-09
相似问题
回答 1
回答 1