欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > 获取小程序自定义分包大小的 4 种方法

获取小程序自定义分包大小的 4 种方法

2025/6/27 14:02:11 来源:https://blog.csdn.net/weixin_42096448/article/details/145924718  浏览:    关键词:获取小程序自定义分包大小的 4 种方法

获取小程序自定义分包大小的 4 种方法


方法 1:通过微信开发者工具查看
  1. 打开代码分析
    在微信开发者工具中:

    • 点击顶部菜单栏 工具代码分析
    • 选择 代码依赖分析 标签页
    • 查看 分包大小分布图(自动标注超限部分)
  2. 上传版本时校验
    提交代码包时,控制台会自动显示分包大小:

    [分包检测]
    主包大小: 1.2MB
    subpackage1: 3.5MB (超过建议值2MB)
    subpackage2: 1.8MB
    

方法 2:使用 miniprogram-ci 工具
  1. 安装官方 CLI 工具

    npm install -g miniprogram-ci
    
  2. 生成详细分析报告

    miniprogram-ci pack \--project-path ./ \--report-output report.json
    

    输出示例

    {"main": 1452301, // 主包字节数"subpackages": [{"name": "subpackage1","size": 3678912,"files": ["pages/sub1/index.wxml", ...]}],"total": 5131213
    }
    

方法 3:自定义构建脚本统计
// get-subpackage-size.js
const fs = require('fs');
const path = require('path');// 读取 app.json 配置
const appConfig = require('./app.json');// 计算目录大小
function getDirSize(dirPath) {let total = 0;const files = fs.readdirSync(dirPath);files.forEach(file => {const stats = fs.statSync(path.join(dirPath, file));total += stats.size;});return (total / 1024 / 1024).toFixed(2) + 'MB';
}// 遍历分包配置
appConfig.subPackages.forEach(sub => {const size = getDirSize(sub.root);console.log(`分包 ${sub.name || sub.root}: ${size}`);
});

执行命令

node get-subpackage-size.js

输出

分包 subpackage1: 3.72MB
分包 subpackage2: 1.84MB

方法 4:通过构建产物分析
  1. 生成编译产物
    在开发者工具中:

    • 点击 预览 ➔ 勾选 生成sourcemap
    • 产物输出到 miniprogram_dist
  2. 手动分析分包结构

    # 查看主包大小
    du -sh miniprogram_dist# 查看指定分包大小
    du -sh miniprogram_dist/subpackage1
    

分包大小优化策略

优化方向具体措施
图片资源优化使用 WebP 格式,通过 CDN 动态缩放 (如 oss.process=image/resize,w_500)
重复代码治理使用 webpack-bundle-analyzer 分析依赖,合并公共模块
动态加载使用 require.async 延迟加载非首屏组件
分包预加载控制合理配置 preloadRule,避免过度预加载
第三方库裁剪使用小程序专用版本(如 lodash.mini 替代完整版)

常见问题解决方案

Q1:分包显示0KB怎么办?
// 错误配置示例
{"subPackages": [{"root": "subpackage1","pages": ["nonexist/page"] // 路径错误导致分包未包含文件}]
}

检查点

  • 确保 root 目录存在
  • 校验 pages 路径是否正确
  • 删除空分包目录
Q2:主包意外包含分包文件
// webpack.config.js 错误配置
{optimization: {splitChunks: {chunks: 'all' // 导致公共模块被错误提取到主包}}
}

正确做法

splitChunks: {cacheGroups: {commons: {test: /[\\/]subpackage[\\/]/, // 限制分包范围name: 'sub-common',chunks: 'all'}}
}

通过上述方法,某电商小程序成功:

  • 主包体积从 1.9MB 降至 1.4MB
  • 分包加载速度提升 40%
  • 首次渲染时间缩短至 1.2秒

注意事项

  • 分包路径不要嵌套(如 sub1/sub2
  • 避免在分包中放置 app.js 等全局文件
  • 定期使用 git clean -fd 清理无效文件

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词