使用Vue Router路由懶加載引發(fā)的生產(chǎn)頁面白屏問題的解決方法
1.項目技術棧
項目使用vue3 + Vue Router + ant-design-vue,構建工具使用 vite.
- 框架: vue3
- 組件庫: andt-design-vue
- 路由: Vue Router
- 構建工具: vite
2.問題現(xiàn)象
- 1.本地開發(fā)階段,一切正常沒有任何問題。
- 2.通過nginx部署到開發(fā)環(huán)境后,訪問該前端,其他所有功能均正常無任何問題。
- 3.當訪問
/deviceMgmt/deviceLogQuery頁面時,頁面白屏,控制臺無任何報錯。
3.問題排查
剛看到這個問題還是挺懵的,自己本地開發(fā)環(huán)境沒有問題,一部署到開發(fā)環(huán)境就出問題,而且還是沒有任何報錯、警告、提示。根據(jù)上面的現(xiàn)象,初步想到以下幾個可能造成該問題的原因:
3.1 路徑問題
- 前端訪問的路徑寫錯了
- 路由配置的路徑跟組件的路徑寫錯了
但是通過仔細對比發(fā)現(xiàn),路由配置路徑跟組件路徑都沒有任何問題,故排除了路徑問題
3.1 路由配置問題
查看頁面元素發(fā)現(xiàn),訪問/deviceMgmt/deviceLogQuery路徑時,app容器內(nèi)的組件為空。 并且之后發(fā)現(xiàn)之前部署的上一個前端版本是沒有問題的,但是只要換成現(xiàn)在重新編譯的版本就有這個問題。
通過git版本對比發(fā)現(xiàn),原來是路由懶加載的配置寫錯了造成的
// router>index.js
const routes = [
{
name: 'deviceLogQuery',
path: '/deviceMgmt/deviceLogQuery',
//? 正確寫法
// component: () => import('../views/deviceLogQuery/test.vue'),
// ? 錯誤寫法
component: import('../views/deviceLogQuery/index.vue'),
}
]
路由配置中如果使用路由懶加載,呢組件的導入配置,component 是通過() => import(./MyPage.vue) 的方式導入。 這里少了 () => ,直接導入了。
4.問題解決
通過git版本對比發(fā)現(xiàn),原來是路由懶加載的配置寫錯了

并且仔細查看控制臺發(fā)現(xiàn)原來Vue Router 已經(jīng)報警提示了:但是只在第一次加載才會報警告??(自己沒仔細看)

修改配置,重新打包部署,問題解決。
5.總結
- Vue Router 路由懶加載引發(fā)的生產(chǎn)頁面白屏問題: 是由于路由懶加載的配置寫錯造成的
- 寫代碼的過程: 需要更加細致,原本是一個很小的問題,就是不夠仔細才發(fā)生
- git的重要性: 一定要多提交代碼,出現(xiàn)問題時才能更好的溯源
- 給Vue Router的建議: 建議直接將警告改成報錯,并且增加提示
以上就是使用Vue Router路由懶加載引發(fā)的生產(chǎn)頁面白屏問題的解決方法的詳細內(nèi)容,更多關于Vue Router懶加載引發(fā)頁面白屏的資料請關注腳本之家其它相關文章!
相關文章
Vue3如何解決路由緩存問題(響應路由參數(shù)的變化)
這篇文章主要介紹了Vue3如何解決路由緩存問題(響應路由參數(shù)的變化),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03
vue3-vite安裝后main.ts文件和tsconfig.app.json文件報錯解決辦法
Vue.js是一個流行的JavaScript框架,它可以幫助開發(fā)者構建交互式Web應用程序,這篇文章主要給大家介紹了關于vue3-vite安裝后main.ts文件和tsconfig.app.json文件報錯解決辦法,需要的朋友可以參考下2023-12-12
vue項目登錄成功拿到令牌跳轉(zhuǎn)失敗401無登錄信息的解決
這篇文章主要介紹了vue項目登錄成功拿到令牌跳轉(zhuǎn)失敗401無登錄信息的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02
vue深度監(jiān)聽(監(jiān)聽對象和數(shù)組的改變)與立即執(zhí)行監(jiān)聽實例
這篇文章主要介紹了vue深度監(jiān)聽(監(jiān)聽對象和數(shù)組的改變)與立即執(zhí)行監(jiān)聽實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09

