You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vite生产构建如何启用esbuild的keep-names选项?

解决Vite生产构建启用esbuild keep-names的问题

直接在config.esbuild下设置keepNames不生效,是因为Vite把生产构建阶段的esbuild压缩相关配置单独归类到了build.esbuildOptions字段中。按以下步骤配置即可实现需求:

  • 确认使用esbuild作为压缩工具
    Vite生产构建默认用esbuild,若之前手动切换过terser,需在配置中明确指定:

    import { defineConfig } from 'vite'
    
    export default defineConfig({
      build: {
        minify: 'esbuild' // 确保此处为'esbuild',而非'terser'
      }
    })
    
  • 在build.esbuildOptions中开启keepNames
    将keepNames: true添加到build.esbuildOptions里,这才是生产构建时esbuild压缩环节的正确配置入口:

    import { defineConfig } from 'vite'
    
    export default defineConfig({
      build: {
        minify: 'esbuild',
        esbuildOptions: {
          keepNames: true
        }
      }
    })
    
  • 按需针对特定依赖优化(可选)
    如果只需要保留某第三方库的函数名,而非全局开启,可以在预构建依赖的配置中也添加该选项,确保依赖预构建时也保留函数名:

    import { defineConfig } from 'vite'
    
    export default defineConfig({
      optimizeDeps: {
        esbuildOptions: {
          keepNames: true
        }
      },
      build: {
        minify: 'esbuild',
        esbuildOptions: {
          keepNames: true
        }
      }
    })
    

这样配置后,esbuild会在压缩代码时保留函数名,既满足第三方库的要求,又能维持esbuild的高速构建优势。

内容的提问来源于stack exchange,提问作者Alex Spieslechner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 11:35:28