微信小程序如何进行分包,两兆变20,单车变摩托

工程优化

1.分包

某些情况下,开发者需要将小程序划分成不同的子包,在构建时打包成不同的分包,用户在使用时按需进行加载。每个使用分包小程序必定含有一个主包。所谓的主包,即放置默认启动页面/TabBar 页面,以及一些所有分包都需用到公共资源/JS 脚本;而分包则是根据开发者的配置进行划分。直接进入分包,也会下载主包

主包:tabber页面 app.js app.json。。。

普通分包:按需加载,可以使用主包的数据

独立分包:按需加载,不可以使用主包数据

优势

1.在小程序启动时,默认会下载主包并启动主包内页面,当用户进入分包内某个页面时,客户端会把对应分包下载下来,下载完成后再进行展示。(按需加载)
2.单个分包/主包大小不能超过 2M,整个小程序所有分包大小不超过 20M,能够将工程大小扩充到20M
3.对小程序进行分包,可以优化小程序首次启动的下载时间,以及在多团队共同开发时可以更好的解耦协作。

指南-基础能力-分包结构

1.1.配置分包结构 app.json

  "subPackages": [
    {
     
      "root": "packageA",
      "pages": [
        "apple/apple"
      ]
    },{
     
      "root": "packageB",
      "pages": [
        "dog/dog"
      ]
    }
  ],

1.2.独立分包

app.json
"subPackages": [
    {
     
      "root": "packageA",
      "name":"A",
      "pages": [
        "apple/apple"
      ]
    },{
     
      "root": "packageB",
      "pages": [
        "dog/dog"
      ],
      "independent": true  //配置独立分包
    }
  ],
独立分包不依赖于别的分包或者主包,默认无法使用app.js 的数据
独立分包的js文件
let app = getApp({
     allowDefault:true})
// 默认实现中定义的属性会被覆盖合并到App中
app.age="30"
console.log("packageB-dog",app)

1.3.分包预下载 app.json

  "preloadRule": {
     
    "pages/index1/index1":{
     
      "packages":["A"],  // 配置分包时的name名字
      "network": "all"   // network 什么网络下进行预加载  wifi  all
    }
  },

你可能感兴趣的:(小程序,uni-app,小程序,前端)