先提煉下問題和需求吧,儘量簡單描述問題並復現bug,畢竟優化圖片後對網頁加載速度有着非常明顯的效果!而且圖片懶加載技術也是大家經常用到的一種優化手段。
問題:在練手的Vue項目中,首頁在首次加載時圖片請求數達到了60!
如圖:
理想狀態/需求:優化首屏首次打開時加載圖片的數量
如圖:
尋找解決方案:在Vue資源列表中搜索後發現目前聲望最高的是vue-lazyload
。
踩坑之路:
於是我下載了[email protected]
最新版本,但並沒有實現預期效果而是翻了車!後來改用@1.2.6版本才解決問題。對比@1.2.6和@1.3.0的代碼後發現,將@1.2.6版本中的key: "checkInView"
這個方法替換掉@1.3.0版本中的即可解決問題。
如圖:
最後,爲了讓文章更有說明力,證明不是我的操作問題,特意錄製了一段視頻,完整的演示了在項目中使用[email protected]
和[email protected]
後的區別,並修改[email protected]
中的源碼以解決bug.
視頻演示bug復現
全屏播放--視頻演示[email protected]版本會加載所有圖片而@1.2.6版本是正確的
最後,如果看官目前正在使用[email protected]
版本,請注意這個坑。至於解決方案,文章中提到了兩種,要麼回退版本,要麼修改源碼,或者再等等,等作者修復bug。
今天中午的時候,原插件作者已確認了bug,詳情訪問:v1.3.0Bug求證:v-lazy會加載超出可視區域內的圖片? #372
如果看官有興趣的話,可以閱讀完整文章,詳情訪問:Vue2x優化篇之圖片懶加載插件[email protected]存在bug及臨時解決方法