Vue首屏白屏問題的原因和解決方法講解
vue首屏白屏原因大概有以下幾點(diǎn):
一.路由模式錯誤(路由重復(fù)或者沒有配置路由)
(1)由于把路由模式mode設(shè)置成history了,默認(rèn)是hash
解決方法:將模式改為hash模式,或者直接把模式配置刪除,而且history需要后端配合
(2)做動態(tài)路由時,next()放行與next(...to, replace)區(qū)別造成的白屏,實質(zhì)是路由重復(fù)
(3)第一次正常訪問,刷新后白屏,vuex沒有與本地存儲結(jié)合,刷新后導(dǎo)致數(shù)據(jù)丟失
二.dist中文件引用路徑錯誤(vue項目打包的路徑問題)
打包后的dist目錄下的文件引用路徑不對,因找不到文件而報錯導(dǎo)致白屏
解決方法:vue.config.js中 publicPath: ''./"
三.瀏覽器不支持es6
在項目中使用了es6語法,一些瀏覽器不支持es6,造成編譯錯誤不能解析而造成白屏
解決方法:
安裝Babel ,Babel 會把這些新語法轉(zhuǎn)譯成較低版本的代碼。
npm install --save-dev @babel/core @babel/cli @babel/preset-env
四.加載文件資源過大
單頁面應(yīng)用的 html 是靠 js 生成,因為首屏需要加載很大的js文件(app.js 和vendor.js),所以當(dāng)網(wǎng)速差的時候會產(chǎn)生一定程度的白屏
解決方法:
路由懶加載,組件懶加載
路由懶加載
// 1、Vue異步組件技術(shù): { path: '/home', name: 'Home', component: resolve => require(['../views/home.vue'], resolve) } // 2、es6提案的import() { path: '/', name: 'home', component: () => import('../views/home.vue') } // 3、webpack提供的require.ensure() { path: '/home', name: 'Home', component: r => require.ensure([],() => r(require('../views/home.vue')), 'home') }
組件懶加載
// import 方式 components:{ "dailyModal":()=>import("./dailyModal.vue") }, // require 方式 components:{ "dailyModal":resolve=>require(['./dailyModal.vue'],resolve) },
到此這篇關(guān)于Vue首屏白屏問題的原因和解決方法講解的文章就介紹到這了,更多相關(guān)Vue首屏白屏內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue3+TS實現(xiàn)動態(tài)路由權(quán)限的示例詳解
當(dāng)我們在開發(fā)一個大型的前端應(yīng)用時,動態(tài)路由權(quán)限是一個必不可少的功能,本文將介紹如何使用Vue 3和TypeScript來實現(xiàn)動態(tài)路由權(quán)限,希望對大家有所幫助2024-01-01vue 3.x 中mixin封裝公用方法應(yīng)用方式
這篇文章主要介紹了vue 3.x 中mixin封裝公用方法應(yīng)用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05Vue動態(tài)加載ECharts圖表數(shù)據(jù)的方式
這篇文章主要介紹了Vue動態(tài)加載ECharts圖表數(shù)據(jù)的方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07Vue+Flask實現(xiàn)簡單的登錄驗證跳轉(zhuǎn)的示例代碼
本篇文章主要介紹了Vue+Flask實現(xiàn)簡單的登錄驗證跳轉(zhuǎn)的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-01-01