压缩配置优化
Vite 支持 esbuild 和 terser 两种压缩工具,根据项目需求选择。
压缩方式选择
JavaScript
export default defineConfig({
build: {
minify: 'esbuild' // 默认,速度快
}
})
// 或使用 terser
export default defineConfig({
build: {
minify: 'terser',
terserOptions: {
compress: {
drop_console: true,
drop_debugger: true
}
}
}
})
压缩工具对比
| 工具 | 速度 | 功能 |
|---|---|---|
| esbuild | 极快 | 基础压缩 |
| terser | 较慢 | 高级压缩选项 |
注意:esbuild 是默认压缩工具,构建速度更快。
esbuild 配置
JavaScript
export default defineConfig({
build: {
minify: 'esbuild',
esbuild: {
drop: ['console', 'debugger'],
legalComments: 'none'
}
}
})
terser 安装
Bash
npm add -D terser
terser 配置选项
JavaScript
export default defineConfig({
build: {
minify: 'terser',
terserOptions: {
compress: {
drop_console: true, // 移除 console
drop_debugger: true, // 移除 debugger
pure_funcs: ['console.log']
},
format: {
comments: false // 移除注释
}
}
}
})
生产环境移除日志
JavaScript
// 使用 esbuild
export default defineConfig({
build: {
minify: 'esbuild',
esbuild: {
drop: ['console', 'debugger']
}
}
})
// 使用 terser
export default defineConfig({
build: {
minify: 'terser',
terserOptions: {
compress: {
drop_console: true
}
}
}
})
压缩效果对比
| 配置 | 构建时间 | 产物体积 |
|---|---|---|
| esbuild | 1-2s | 中等 |
| terser | 5-10s | 更小 |
要点总结
- 默认使用 esbuild 压缩
- terser 功能更全面但速度慢
- 可配置移除 console/debugger
- terser 需额外安装依赖
📝 发现内容有误?点击此处直接编辑