> 文档中心 > Error: 代码包大小为 2432 kb,上限为 2048 kb,请删除文件后重试

Error: 代码包大小为 2432 kb,上限为 2048 kb,请删除文件后重试

  在进行真机调试时出现了如下问题:

 

 针对此问题,我们使用微信开放文档给出的方法

我们可以在搜索框中输入分包,回车。

 点击使用分包进行问题解决


基础能力 /分包加载 /使用分包

使用分包

配置方法

假设支持分包的小程序目录结构如下:

├── app.js├── app.json├── app.wxss├── packageA│   └── pages│       ├── cat│       └── dog├── packageB│   └── pages│       ├── apple│       └── banana├── pages│   ├── index│   └── logs└── utils

开发者通过在 app.json subpackages 字段声明项目分包结构:

写成 subPackages 也支持。

{  "pages":[    "pages/index",    "pages/logs"  ],  "subpackages": [    {      "root": "packageA",      "pages": [ "pages/cat", "pages/dog"      ]    }, {      "root": "packageB",      "name": "pack2",      "pages": [ "pages/apple", "pages/banana"      ]    }  ]}

subpackages 中,每个分包的配置有以下几项:

字段 类型 说明
root String 分包根目录
name String 分包别名,分包预下载时可以使用
pages StringArray 分包页面路径,相对与分包根目录
independent Boolean 分包是否是独立分包

打包原则

  • 声明 subpackages 后,将按 subpackages 配置路径进行打包,subpackages 配置路径外的目录将被打包到 app(主包) 中
  • app(主包)也可以有自己的 pages(即最外层的 pages 字段)
  • subpackage 的根目录不能是另外一个 subpackage 内的子目录
  • tabBar 页面必须在 app(主包)内

引用原则

  • packageA 无法 require packageB JS 文件,但可以 require app、自己 package 内的 JS 文件;使用 分包异步化 时不受此条限制
  • packageA 无法 import packageB 的 template,但可以 require app、自己 package 内的 template
  • packageA 无法使用 packageB 的资源,但可以使用 app、自己 package 内的资源

低版本兼容

由微信后台编译来处理旧版本客户端的兼容,后台会编译两份代码包,一份是分包后代码,另外一份是整包的兼容代码。 新客户端用分包,老客户端还是用的整包,完整包会把各个 subpackage 里面的路径放到 pages 中。

示例项目

下载 小程序示例(分包加载版)源码

艺术字体转换器