Skip to content

vitepress chunk文件在压缩后仍然大于500KB

作者: ryan 发布于: 10/14/2025 更新于: 10/15/2025 字数: 0 字 阅读: 0 分钟

出现问题

bash
$ npm run docs:build

> docs:build
> vitepress build docs


  vitepress v1.6.3

| building client + server bundles...
(!) 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.
 building client + server bundles...
 rendering pages...
build complete in 8.13s.

VitePress本地搜索索引生成的JavaScript文件,它包含了整个站点的搜索索引数据。由于文档站点内容较多,这个索引文件也会相应变大。

索引文件体积超过了 Vite 默认的 500KB 警告阈值。

解决方案如下:

1. 调整警告阈值(推荐)

在 .vitepress/config.js 中添加:

js
export default {
  vite: {
    build: {
      chunkSizeWarningLimit: 700, // 设置为 700KB 避免警告
    }
  }
}

识别问题模块

要定位具体是哪些模块过大,需生成构建分析报告:

js
// .vitepress/config.js  
export default {  
  build: {  
+   rollupOptions: {  
+     output: {  
+       manualChunks: (id) => {  
+         if (id.includes('node_modules')) {  
+           return 'vendor';  
+         }  
+       }  
+     }  
+   }  
  }  
}

运行构建命令后,检查生成的 dist/assets 目录:

  • 按文件名排序(如 chunk-XXXXX.js),最大的文件通常来源于三方库或未拆分的业务代码48。
  • 若文件名含 vendor,说明是依赖库过重,需拆分;若含业务模块名(如 home),需优化业务代码结构。

https://github.com/vuejs/vitepress/issues/3873

Updated at: