vue動態路由加載時 Cannot find module xxx 錯誤解決方法

vue由靜態路由改爲動態路由時,出現下面的錯誤
在這裏插入圖片描述
靜態路由懶加載,當我們把在router裏面,把它寫死在ts裏時,它加載的ok的,可是我們通過api接口拉取過來的數據時,發現是不報了上面的錯

// 靜態路由懶加載
export const loadView = (view: any) => {
  return () => import(`@/views/${view}.vue`)
}

錯誤原因是webpack打包邏輯,webpack4中動態import不支持變量方式,查看路由返回的信息,只是返回一個方法。
在這裏插入圖片描述
而靜態路由的返回,這個纔是正確的組件返回方式
在這裏插入圖片描述
但是我們是要改爲動態路由,則必須把它修改爲
在這裏插入圖片描述
這樣動態路由加載就OK了

export const loadView = (view: any) => {
  return (resolve: any) => require([`@/views/${view}.vue`], resolve)
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章