复杂小程序集成
背景
从 2017 年微信小程序发布开始,随着小程序的逐步发展、迭代和大量功能的开发,小程序巨大化的问题越来越突出。虽然小程序平台方提供了分包、插件两种方式来帮助小程序开发者来实现代码和功能的解耦。然而在实际的实践中,随着同一个小程序中的不同的业务逐步拆分到不同的团队,以及分包、插件、NPM 包的大量使用,不同业务团队之间的接口调用问题、包大小的管理问题、最终的小程序产物合并问题等越来越突出,基于这个背景和需求,整合饿了么在大型小程序上的各类最佳实践和解决方案,从工程化的角度出发,我们推出了 复杂小程序集成能力。
相关功能主要由 @morjs/plugin-composer
插件提供。
动机
多个独立的构建可以组成一个独立的小程序,这些独立构建之间不应该存在强依赖关系,因此可以独立开发、调试和部署。
除宿主之外,分包、插件和模块并不要求一定要采用 MorJS
来编写,只要符合接入方式的规范,理论上采用任何小程序框架的小程序或原生小程序均可以进行独立开发和集成。
注:小程序、分包、插件的打包方式归属于编译,不在这里体现。