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
