注意事项(1)关于 getApp()与普通分包不同,独立分包运行时,App 并不一定被注册,因此 getApp() 也不一定可以获得 App 对象:
由于这一限制,开发者无法通过 App 对象实现独立分包和小程序其他部分的全局变量共享。 为了在独立分包中满足这一需求,基础库 2.2.4 版本开始 getApp支持 [allowDefault]参数,在 App 未定义时返回一个默认实现。当主包加载,App 被注册时,默认实现中定义的属性会被覆盖合并到真正的 App 中。 示例代码:
(2)关于 App 生命周期当从独立分包启动小程序时,主包中 App 的 onLaunch 和首次 onShow 会在从独立分包页面首次进入主包或其他普通分包页面时调用。 由于独立分包中无法定义 App,小程序生命周期的监听可以使用 wx.onAppShow,wx.onAppHide 完成。App 上的其他事件可以使用 wx.onError,wx.onPageNotFound 监听。 低版本兼容在低于6.7.2版本的微信中运行时,独立分包视为普通分包处理,不具备独立运行的特性。 注意:在兼容模式下,主包中的 app.wxss 可能会对独立分包中的页面产生影响,因此应避免在独立分包页面中使用 app.wxss 中的样式。 3、分包预下载基础库 2.3.0 开始支持,低版本需做兼容处理。 开发者工具请使用 1.02.1808300 及以上版本,可点此下载。 开发者可以通过配置,在进入小程序某个页面时,由框架自动预下载可能需要的分包,提升进入后续分包页面时的启动速度。对于独立分包,也可以预下载主包。 分包预下载目前只支持通过配置方式使用,暂不支持通过调用API完成。 vConsole 里有preloadSubpackages开头的日志信息,可以用来验证预下载的情况。 配置方法预下载分包行为在进入某个页面时触发,通过在 app.json 增加 preloadRule 配置来控制。
preloadRule 中,key 是页面路径,value 是进入此页面的预下载配置,每个配置有以下几项:
限制同一个分包中的页面享有共同的预下载大小限额 2M,限额会在工具中打包时校验。 如,页面 A 和 B 都在同一个分包中,A 中预下载总大小 0.5M 的分包,B中最多只能预下载总大小 1.5M 的分包。 |
Archiver|手机版|小黑屋|小白教程 ( 粤ICP备20019910号 )
GMT+8, 2024-11-24 14:32 , Processed in 0.020751 second(s), 18 queries .
Powered by Discuz! X3.4
© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】