vite 构建移除 console

vite 3.x 已经将 esbuild 作为默认构建选项,你可以通过如下配置在构建时移除代码中的 console.logdebugger

// vite.config.ts
import { defineConfig } from 'vite'

export default defineConfig({
    build:{
      minify: 'esbuild', // 默认
    },
    esbuild: {
      drop: ['console', 'debugger'],
    },
});

由于 vite 在开发环境使用 esbuild,你可以配置仅在生产环境启用 drop。

export default defineConfig(({ command, mode }) => ({
    build:{
      minify: 'esbuild', // 默认
    },
    esbuild: {
      drop: mode === 'production' ? ['console', 'debugger'] : [],
    },
})

如果你仍然使用 terser 作为构建工具,可以通过如下配置实现此目的。

// vite.config.ts
import { defineConfig } from 'vite'

export default defineConfig({
  build: {
    minify: 'terser',
    terserOptions: {
      compress: {
        drop_console: true,
        drop_debugger: true,
      },
    },
  },
})

posted @ 2022-08-28 21:30  guangzan  阅读(2419)  评论(0)    收藏  举报