專案中偶爾會遇到vue 第一次開啟白屏現象,針對這個問題,找了不同環境下的處理方法,留個紀念
1,ios10 出現白屏原因是由於ios 10中safari中錯誤描述如下:當你定義乙個與引數同名的for迴圈迭代變數時,我們錯誤地認為這是乙個語法錯誤。解決方法如下:
new uglifyjsplugin(,
mangle:
},sourcemap: config.build.productionsourcemap,
parallel: true
}),
2,swiper
外掛程式導致白屏
解決方法是在專案根目錄下新建乙個檔案vue.config.js,在裡面新增如下語句:
module.exports =
}
3,npm run build打包頁面空白我們會發現頁面head中引用的js和css檔案是出現了路徑錯誤,這裡修改如下:
解決位置:config/index.js檔案:把assetspublicpath: '/'改為assetspublicpath: './'
build:
4,公升級vue2+部分手機訪問出現頁面空白npm run dev後可能出現無法載入到路由模板的資訊。
解決位置:config/index.js檔案:把 devtool: '#eval-source-map' 改為devtool:'inline-source-map'
5,公升級vue2+ip訪問頁面空白預設只能通過localhost或者127.0.0.1才能訪問,如果使用本機的ip位址會出現無法訪問到的情況。
6,vue在ie、低版本android顯示空白問題這是由於ie對promise的支援不好,我們需要安裝:babel-polyfill和es6-promise:
npm install babel-polyfill
npm install es6-promise
然後在main.js檔案中引用:
import 'babel-polyfill'
import vue from 'vue'
import es6promise from 'es6-promise'
es6promise.polyfill()
最後 build/webpack.base.conf.js 檔案中配置如下:
module.exports =
};
博主以上方法均試過,但依舊有小部分機型手機開啟為白屏(根據市場使用者使用情況,遇到的白屏均為小部分iphone,真叫人腦殼疼),
1)於是開始理性的分析,首先白屏的原因與靜態資源沒載入相關,所以優先排查打包後的index.html檔案,發現檔案裡面引用資源的路徑為
會不會是 打包後沒帶引號引起的?
需要在webpack.prod.conf.js 找到minify引數
講 removeattributequotes: true 改為 removeattributequotes: false 打包後,已經自動新增了引號
2)通過日誌監控發現,部分使用者請求了
需要在config ->index.js檔案裡 build 裡面 assetspublicpath 引數 ,路徑改為 網域名稱+'/'
assetspublicpath: 網域名稱+'/' 再次打包部署,等待使用者反饋
終於,功夫不負有心人,剩餘的小部分白屏使用者,也可以正常訪問了。開心的不得了~
解決vue白屏問題
咱們先看看vue白屏在ios手機上是如何產生的?首頁跳轉到到第二屏,再從二級頁面返回到首頁就會出現白屏情況。解決思路 既然是首頁白屏那麼就要從首頁開始解決問題,經過多次比對發現,返回到首頁後,出現白屏,然後咱們用手觸控或則向下滑動,白屏就沒有了,知道了這個效果之後,解決白屏就簡單了,只需要在返回到首...
Vue問題彙總
通過watch解決 vue中資料的非同步載入 1.通過watch computed 2.在元件生命週期中的created階段接收資料,後面操作可正常拿到資料 3.使用async await,注意await後面要接promise物件才生效,示例 async get region statistic t...
VUE解決IE瀏覽器白屏問題
vue專案本地或部署到伺服器,所有瀏覽器都可以開啟,除了ie瀏覽器,ie瀏覽器開啟白屏 報語法錯誤。1 安裝 babel polyfill npm install babel polyfill2 在main.js中引入 import babel polyfill 3 修改配置 webpack bas...