全部学科
Python全栈
python
NodeJS全栈
nodejs
📅 2026-05-23 5 分钟 ✍️ juanwangdev

压缩配置优化

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
      }
    }
  }
})

压缩效果对比

配置构建时间产物体积
esbuild1-2s中等
terser5-10s更小

要点总结

  • 默认使用 esbuild 压缩
  • terser 功能更全面但速度慢
  • 可配置移除 console/debugger
  • terser 需额外安装依赖
想在手机上练习这篇文章的配套题目?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一篇 代码分割策略
下一篇 → Chunk 大小警告处理
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码