餓了么H5站那個佔位的base64圖片是如何生成的啊?

看到餓了么的H5站點,上面首次載入數據還沒回來時候用的一些base64的圖片進行佔位,可以有效的防止數據回來後頁面發生重排。

想請教下這個base64的圖片是怎麼做的啊,後端生成的嗎?怎麼能做到生成跟ajax返回的圖片占的大小一模一樣啊,有沒有大神給解釋下


PS:下面有些答案有些不明所以,可能是我沒講清楚,我的意思是我看他前端是以rem為單位的,那麼服務端生成這張svg圖時候怎麼才能保證這張圖和前端二次渲染完成之後的div大小一樣


瀉藥~
這叫做 App Shell,是餓了么手機版改造 PWA 時加入的。製作很簡單,Sketch 畫個 SVG 就行了。關鍵在於與 Vue 的 prerender 結合,在編譯階段就被插入。

下面有請作者登場 @王亦斯

利益相關………行了我編不下去了


你都知道是 base64 了。。。還想問什麼。。。大小的話,當然是寫在 CSS 里的~~
你還是多補一補 JavaScript 和 CSS 基礎吧。


難道不是一張靜態圖片而已?


webpack打包自動生成的吧。webpack用nodejs把圖片轉成base64編碼


雖然不知道ajax返回圖片的物理大小,但寬高是可以提前預知的。至於圖片,你把地址複製出來,在瀏覽器打開一下就知道前後端哪裡生成的,按經驗是後端


推薦閱讀:

WebStorm 有哪些過人之處?
求一份前端開發命名規範文檔?
參加 2017 餓了么大前端秋季交流會是一種怎樣的體驗?
用了react 或者 vue,如何做SEO優化呢?
零基礎轉前端是怎樣一種體驗?

TAG:前端開發 | 前端性能優化 | 餓了么網上訂餐 | 移動端 |