vue3+vite兼容低版本的白屏問題詳解(安卓7/ios11)
vue3打包后在低版本瀏覽器或webview中出現(xiàn)白屏,原因就是因為語法兼容問題。根據(jù)vite官方文檔描述,build.target默認支持 Chrome >=87、Firefox >=78、Safari >=14、Edge >=88 傳送,所以需要我們手動兼容低版本。
本篇以vite2、安卓7/ios11為例。
如何兼容ios11
兼容ios11只需要指定語法轉譯的最低版本即可解決。
// vite.config.js build: { target: ['ios11'] }
如何兼容安卓7
target
里寫'android7'是沒有用的,所以我們要先知道當前安卓版本的瀏覽器或webview的Chrome版本是多少,查看UA頭就行,安卓7的對應版本是Chrome 64。
那是不是這么寫就完事了呢?
build: { target: ['ios11', 'Chrome 64'] }
一打包一運行,發(fā)現(xiàn)依然白屏,這是怎么回事呢?來看看官方描述。
請注意,默認情況下 Vite 只處理語法轉譯,且 默認不包含任何 polyfill。 傳統(tǒng)瀏覽器可以通過插件 @vitejs/plugin-legacy 來支持,它將自動生成傳統(tǒng)版本的 chunk 及與其相對應 ES 語言特性方面的 polyfill。兼容版的 chunk 只會在不支持原生 ESM 的瀏覽器中進行按需加載。
意思就是Chrome 64版本不是現(xiàn)代瀏覽器,vite默認不支持呀!需要我們引入polyfill。
如何使用@vitejs/plugin-legacy
默認是不支持Chrome 64的,也是需要指定最低版本。
// vite.config.js import legacy from '@vitejs/plugin-legacy' export default { plugins: [ legacy({ targets: ['Chrome 64'], modernPolyfills: true }), ], }
打包運行,成功!
補充知識:vue打包項目以后白屏和圖片加載不出來問題解決方法
vue打包項目以后部署訪問白屏。查看控制臺是404.這是由于打包的時候沒有設置對靜態(tài)資源路徑。原文件是絕對路徑,需要改成相對路徑。
1.白屏修改config/index.js
2.圖片加載不出來,修改build/utils.js
總結
到此這篇關于vue3+vite兼容低版本的白屏問題的文章就介紹到這了,更多相關vue3+vite兼容低版本白屏內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
vue組件數(shù)據(jù)傳遞、父子組件數(shù)據(jù)獲取,slot,router路由功能示例
這篇文章主要介紹了vue組件數(shù)據(jù)傳遞、父子組件數(shù)據(jù)獲取,slot,router路由功能,結合實例形式分析了vue.js組件數(shù)據(jù)傳遞、路由相關概念、原理及相關操作技巧,需要的朋友可以參考下2019-03-03Vue?中的?computed?和?watch?的區(qū)別詳解
這篇文章主要介紹了Vue中的computed和watch的區(qū)別詳解,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-09-09