作者:范伟杰、江子玮
面对小程序严格的包体积限制,开发人员不得不在业务与技术之间寻找平衡。常规策略包括:云化非核心静态资源、采用子包拆分(可能导致频繁的代码调整和测试),以及代码抽象和复用第三方SDK的精简管理。尽管如此,一个项目仍然承载着1820kb的庞大体积,仅余200kb的空间,压力可见一斑。
在探索中,我们发现了小程序鲜为人知的分包异步加载功能——一个在问世两年多后仍未充分应用的特性。这一特性允许将应用分解为多个下载单元,部分跨包内容异步加载,主包可依赖于子包。在实践中,我们尝试了多子包共用组件和异步渲染流程,但挑战也随之而来,如何在确保占位组件适时替换为异步加载的组件时避免渲染时机的不确定性?为此,我们引入了async和suspense组件,它们就像是处理这种复杂场景的得力助手。
我们的探索仍在持续,未来将有更多优化手段助力开发者解决这一挑战。敬请关注我们的最新进展。