npm run build 报错:Some chunks are larger than 500 KB after minification

当我们的 Vue 项目太大,使用 npm run build 打包项目的时候,就有可能会遇到以下报错:

bash 复制代码
(!) Some chunks are larger than 500 kB after minification. Consider:
- Using dynamic import() to code-split the application
- Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks
- Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.

以上根据官方的提示给出以下解决方案:

  1. 使用动态 import() 进行代码分割,减小每个 chunk 的大小

  2. 在 rollup 配置文件中添加 output.manualChunks,将模块拆分成多个 chunk,减小每个 chunk的大小

    javascript 复制代码
    //vite.config.js
    
    export default defineConfig({
        ...,
        rollupOptions:{
          output:{
            // 最小化拆分包
            manualChunks(id: any) {
              // 将 node_modules 中的依赖打包
              if (id.includes('node_modules')) {
                return id.toString().split('node_modules/')[1].split('/')[0].toString()
              }
              ...
            }
          }
        }
    })
  3. build.chunkSizeWarningLimit 中提高报错的阈值

    javascript 复制代码
    //vite.config.js
    
    export default defineConfig({
        ...,
        build: {
            chunkSizeWarningLimit: 1600
        }
    })

注意:以上解决方案可叠加执行

相关推荐
陈随易9 小时前
有生之年系列,Nodejs进程管理pm2 v7.0发布
前端·后端·程序员
冰暮流星9 小时前
javascript之事件代理/事件委托
前端
陈随易10 小时前
AI时代,你还在坚持手搓文章吗
前端·后端·程序员
里欧跑得慢13 小时前
17. Flutter Hero动画实现:让界面过渡更加优雅
前端·css·flutter·web
IT_陈寒13 小时前
Vue的这个响应式陷阱,我debug了一整天才爬出来
前端·人工智能·后端
kyriewen13 小时前
前端测试:别为了100%覆盖率而写测试,那是自欺欺人
前端·javascript·单元测试
去伪存真13 小时前
我自己写的第一个skills--project-core-standards
前端·agent
Data_Journal14 小时前
如何使用cURL更改User Agent
大数据·服务器·前端·javascript·数据库
竹林81814 小时前
wagmi v2 多链钱包切换:一个 Uniswap 仿盘项目让我踩了三天坑
前端·javascript
donecoding14 小时前
Playwright MCP 页面捕获:Snapshot、截图、HTML 到底选哪个?
前端·ai编程·前端工程化