app內嵌vue單頁面應用的一些坑


  寫這篇文章的原因是想總結一下自己最近開發的一個內嵌app的vue單頁面項目,看看有哪些坑!!!

1、白屏

  項目第一次上線正常

  項目第二次上線,20多個用戶反饋白屏(沒見過這世面,心里慌的不行!!!),一時定位不到問題,只好回滾了

  然后費勁查了查,發現第二次打包之后的app.js文件出現了includes(es7新增api)方法,但是第一次沒有,這個超級坑,其實測試階段發現了includes方法兼容性有問題,但是當時是自己用了這個方法,知道有問題之后就用了別的方法替換,沒想到第二次打包之后的app.js自己包含了這個方法(至今沒搞懂為啥)

  解決辦法就是babel-polyfill配置,具體怎么配置上網查查就行,然后以后開發項目盡量考慮周全點,這就是我沒啥經驗的問題了

2、還是白屏

  可能是某個資源加載失敗,因為線上出現了一次一個css資源返回301狀態,然后瀏覽器訪問這個資源就會直接跳轉到我們的網站首頁,然后定位到問題之后,立馬找op恢復了

  這里如果是css資源加載失敗的話,接到的反饋都是android用戶樣式丟失,ios用戶直接白屏

3、怎么還是白屏

  承接第二個白屏,op恢復線上css資源后,ios用戶因為緩存比較嚴重(解決辦法在第4點),所以只能清理緩存,就能恢復正常

4、ios緩存

  因為是單頁面應用,部署的時候特別坑,op把頁面資源和靜態資源都放在cdn下了,然后ios會直接緩存html,之后再上線,html還是舊的,里面的資源也是舊的,導致進去一個頁面跳轉另一個頁面的時候,請求的js是老得資源,但是服務器上已經沒有了哎,然后就會發現  嗯?為什么按鈕點擊都沒反應😭   這個問題也是坑了我好久

  解決辦法,后來把頁面資源和靜態資源域名分開了,只有靜態資源走cdn,頁面資源不緩存(我寫這個的時候,剛上線,還沒法驗證😂,不行的話,我再回來改改)

 

解決這些問題的時候,中間插入了別的項目,然后焦慮的度過了兩周,自己也第一次收到了小50個的jira反饋(基本這兩周的jira反饋有一大半是我的😭),但是通過這次之后,還是很有收獲的,只能說沒有壓力沒有成長吧~

 

更新一個白屏的可能原因~

  在進行項目優化時,對某些包進行了分割,分割后某些頁面白屏,並且瀏覽器也不報錯,找了很長時間,發現是引用的vant插件需要依賴vue-lazyload,但是該頁面只引入了vant,沒有引入vue-lazyload,導致報錯,所以當出現白屏時,考慮某些文件的依賴包沒有導入


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM