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

Vite配置Terser无法保留注释,请求排查帮助

在Vite中用Terser保留注释的正确配置方法

先看你配置里的一个明显问题:drop_console数组开头多了个多余的逗号,这会导致配置解析失败,直接影响Terser的所有设置生效,先把这个修正:

export default defineConfig({
  plugins: [
    vue(),
    vueDevTools(),
  ],
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    },
  },
  build: {
    minify: 'terser',
    terserOptions: {
      compress: {
        drop_console: ['log', 'table', 'warn'], // 删掉开头多余的逗号
      },
      format: {
        // 要保留带@preserve/@license标记的注释,用正则匹配
        comments: /@preserve|@license|@cc_on/i
        // 如果要保留所有注释,直接设为'all'即可
        // comments: 'all'
      }
    }
  }
})

为什么之前的配置没效果?主要是那个语法错误导致整个terserOptions没被正确读取。如果修正后还是不行,再检查这两点:

  • 有没有装额外的压缩插件?比如rollup-plugin-terser,Vite已经内置了Terser集成,额外安装会冲突,直接删掉就行。
  • Vite版本是否过低?Vite 2.x及以上才支持完整的terserOptions配置,版本太低的话升级到稳定版。

验证方法很简单:在源码里加一行/** @preserve 这是测试注释 */,打包后去dist目录的压缩JS文件里搜这句,能找到就说明配置生效了。

要是所有方法都试过还是留不住注释,那大概率是Vite和Terser的集成bug,直接去官方仓库提issue就行。

内容的提问来源于stack exchange,提问作者Bob Ramsey

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 21:12:32