React-Native作爲reactjs的一個延伸,以H5和Native之間的中間地帶角色存在於我們的項目中。 由於支撐了大量的業務場景,不容置喙的導致體積迅速增大,當然對RN來說,這也許不會導致嚴重的性能問題,甚至還有可能提升性能(因爲大量的資源存在本地,所以加載較快),但是從節省用戶流量、網絡帶寬的角度講,還是能產生很大的用戶價值。畢竟誰也不想在啓動App的時候就耗費幾兆甚至幾十兆流量加載一個自己甚至都不會訪問的RN包。
那麼,如何快速壓縮RN包體積呢? 我這裏總結了幾條,冀望有用。
1、所有本地資源引用儘可能轉線上(例如圖片、JSON文件、第三方js庫等等)
2、可配置化的圖片預加載方案(解決第一條中帶來的網絡延時問題,這個問題比較複雜,放在我的另一篇博客中)
3、拆包。
拆包的方案很多,但是大多數都是一些比較個性化的處理方式,不能適應React快速的版本跌代。所以這裏給讀者推薦一個Redact官方的分包工具。
其實React在0.57時代已經完全支持了分包,它推出了metro bundle, 官網地址: https://facebook.github.io/metro/
具體的接入過程,請見: