uni-app vue3 + vite 打包微信小程序后分包中 js 被算到主包的 vendor.js 里面导致主包体积过大

uni-app vue3 + vite 打包微信小程序后分包中 js 被算到主包的 vendor.js 里面导致主包体积过大

操作步骤:

.

预期结果:

打包后缩小体积

实际结果:

.

bug描述:

vue3 + vite 打包微信小程序后分包中 js 被算到主包的 vendor.js 里面导致主包体积过大

相关信息

信息类别 详细信息
产品分类 uniapp/小程序/微信
PC开发环境操作系统 Windows
PC开发环境操作系统版本号 win11
第三方开发者工具版本号 1.06.2504010
基础库版本号 3.11.0
项目创建方式 CLI
CLI版本号 “vite”: “5.2.8”

Image Image


更多关于uni-app vue3 + vite 打包微信小程序后分包中 js 被算到主包的 vendor.js 里面导致主包体积过大的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

更多关于uni-app vue3 + vite 打包微信小程序后分包中 js 被算到主包的 vendor.js 里面导致主包体积过大的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这是 uni-app 打包配置问题。分包代码被合并到主包的 vendor.js 是因为分包配置未生效或 vite 构建配置需要调整。

检查并修改 vite.config.js

import { defineConfig } from 'vite'
import uni from '@dcloudio/vite-plugin-uni'

export default defineConfig({
  plugins: [uni()],
  build: {
    rollupOptions: {
      output: {
        manualChunks(id) {
          // 根据分包路径分离代码
          if (id.includes('subpackage1/')) {
            return 'subpackage1'
          }
          if (id.includes('subpackage2/')) {
            return 'subpackage2'
          }
          // 第三方依赖归到 vendor
          if (id.includes('node_modules')) {
            return 'vendor'
          }
        }
      }
    }
  }
})

同时确保 pages.json 分包配置正确:

{
  "subPackages": [
    {
      "root": "subpackage1",
      "pages": [...]
    }
  ]
}

运行打包命令时添加 --minimize false 参数可查看详细分包分析:

npm run build:mp-weixin -- --minimize false
回到顶部