作者:范偉傑、江子瑋
面對小程序嚴格的包體積限制,開發人員不得不在業務與技術之間尋找平衡。常規策略包括:雲化非核心靜態資源、採用子包拆分(可能導致頻繁的代碼調整和測試),以及代碼抽象和復用第三方SDK的精簡管理。盡管如此,一個項目仍然承載著1820kb的龐大體積,僅餘200kb的空間,壓力可見一斑。
在探索中,我們發現了小程序鮮為人知的分包非同步載入功能——一個在問世兩年多後仍未充分應用的特性。這一特性允許將應用分解為多個下載單元,部分跨包內容非同步載入,主包可依賴於子包。在實踐中,我們嘗試了多子包共用組件和非同步渲染流程,但挑戰也隨之而來,如何在確保佔位組件適時替換為非同步載入的組件時避免渲染時機的不確定性?為此,我們引入了async和suspense組件,它們就像是處理這種復雜場景的得力助手。
我們的探索仍在持續,未來將有更多優化手段助力開發者解決這一挑戰。敬請關注我們的最新進展。