uniapp 微信小程序主包 vendor.js过大如何优化
在使用uniapp开发微信小程序时,发现主包的vendor.js文件体积过大,导致小程序包体积超出限制。尝试了分包和压缩图片等措施后,vendor.js仍然占用较大空间。请问有什么有效的优化方案可以减小vendor.js的体积?比如是否可以按需引入依赖、移除未使用的库,或者有其他特定的配置或插件推荐?
        
          2 回复
        
      
      
        - 分包加载:将非核心代码移至分包,减少主包体积。
 - 代码压缩:使用webpack等工具压缩vendor.js,删除无用代码。
 - 按需引入:避免全量引入第三方库,只引入必要模块。
 - 图片优化:压缩图片,使用网络图片或转base64。
 - 检查依赖:移除未使用的库,减少打包体积。
 
UniApp 微信小程序主包 vendor.js 过大的优化方案如下:
1. 分包优化
- 将非核心页面/组件移入分包,减少主包体积。
 - 配置 
pages.json: 
{
  "subPackages": [
    {
      "root": "subpackage",
      "pages": [
        {"path": "pageA", "style": {}},
        {"path": "pageB", "style": {}}
      ]
    }
  ]
}
2. 按需引入第三方库
- 使用 
babel-plugin-import或手动按需引入: 
// 避免:import entire library
import { Button } from 'vant'; // 按需引入
3. 压缩代码与资源
- 生产环境启用压缩:
- 在 
vue.config.js中配置: 
 - 在 
 
module.exports = {
  configureWebpack: {
    optimization: {
      minimize: true
    }
  }
};
4. 使用小程序分包异步化
- 通过 
requireAsync或wx.loadSubpackage动态加载分包,延迟非关键代码加载。 
5. 检查并移除未使用代码
- 使用 
Webpack Bundle Analyzer分析依赖,删除未引用的模块。 
6. 优化静态资源
- 图片转 Base64 或 CDN 托管,减少文件数量。
 - 压缩图片(TinyPNG 等工具)。
 
7. 升级 UniApp 和依赖
- 确保使用最新版本,可能已包含体积优化。
 
8. 避免全局组件/样式
- 局部注册组件,减少主包冗余。
 
注意事项:
- 主包需控制在 2MB 内(微信小程序限制)。
 - 测试分包加载逻辑,确保功能正常。
 
通过以上方法可显著减小 vendor.js 体积,提升加载性能。
        
      
                    
                  
                    
