13518219792

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

创新互联百度小程序教程:独立分包

独立分包

基础库 3.60.2 及以上版本开始支持。开发者工具请使用 2.2.9 及以上版本,可点此下载

创新互联是一家集网站建设,平武企业网站建设,平武品牌网站建设,网站定制,平武网站建设报价,网络营销,网络优化,平武网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

TIPS:

  1. 小游戏不支持独立分包。
  2. 目前暂不支持在独立分包中使用动态库。

配置方法

假设小程序目录结构如下:

 
 
 
  1. ├── app.js
  2. ├── app.json
  3. ├── app.css
  4. ├── moduleA
  5. │ └── pages
  6. │ ├── history
  7. │ └── search
  8. ├── moduleB
  9. │ └── pages
  10. │ ├── counter
  11. │ └── goods
  12. ├── pages
  13. │ ├── index
  14. │ └── logs
  15. └── utils

开发者通过在app.jsonsubPackages字段中对应的分包配置项中定义independent字段声明对应分包为独立分包。

 
 
 
  1. {
  2. "pages": [
  3. "pages/index",
  4. "pages/logs"
  5. ],
  6. "subPackages": [
  7. {
  8. "root": "moduleA",
  9. "pages": [
  10. "pages/history",
  11. "pages/search"
  12. ]
  13. },
  14. {
  15. "root": "moduleB",
  16. "pages": [
  17. "pages/counter",
  18. "pages/goods"
  19. ],
  20. "independent": true
  21. }
  22. ]
  23. }

限制

独立分包属于分包的一种。普通分包的所有限制都对独立分包有效。独立分包中自定义组件的处理方式同普通分包。

此外,使用独立分包时要注意

注意事项

(1)关于 getApp

与普通分包不同,独立分包运行时,App并不一定被注册,因此getApp也不一定可以获得App对象:

为了在独立分包中满足这一需求,基础库3.60.2版本开始getApp支持[allowDefault]参数,在App未定义时返回一个默认实现。当主包加载,App被注册时,默认实现中定义的属性会被覆盖合并到真正的App中。

代码示例

 
 
 
  1. // {}
  2. const app = getApp({allowDefault: true});
  3. app.data = 456;
  4. app.global = {};
 
 
 
  1. App({
  2. data: 123,
  3. from: 'swan'
  4. });
  5. // {global: {}, data: 456, from: 'swan'}
  6. console.log(getApp());

(2)关于 App 生命周期

当从独立分包启动小程序时,主包中 App 的onLaunch和首次onShow会在从独立分包页面首次进入主包或其他普通分包页面时调用;
由于独立分包中无法定义 App,小程序生命周期的监听可以使用swan.onAppShowswan.onAppHide完成。App 上的其它事件可以使用swan.onErrorswan.onPageNotFound监听。

低版本兼容


本文名称:创新互联百度小程序教程:独立分包
浏览路径:http://cdbrznjsb.com/article/djjspde.html

其他资讯

让你的专属顾问为你服务