需求:只清除log,不清除info、warn、error。
vite.config.js配置如下
vite 5.2.12
常规方式(会清除所有console):
const viteConfig = defineConfig((mode) => {
const env = loadEnv(mode.mode, process.cwd(), '');
return {
// 打包配置 npm run build
build: {
minify: 'terser',
terserOptions: {
compress: {
//生产环境时移除console
drop_console: true,
drop_debugger: true,
},
},
},
});
export default viteConfig;
以下方式实测无效
minify: 'terser',
terserOptions: {
compress: {
//生产环境时移除console
drop_console: ['log'],
drop_debugger: true,
},
},
minify: 'terser',
terserOptions: {
compress: {
//生产环境时移除console
drop_console: true,
pure_funcs: ['console.log'],
drop_debugger: true,
},
},
进阶方式(会清除指定console):
只清除log和warn,保留info和error。
const viteConfig = defineConfig((mode) => {
const env = loadEnv(mode.mode, process.cwd(), '');
return {
esbuild: {
drop: ['debugger'],
pure: env.VITE_NODE_ENV === 'production' ? ['console.log', 'console.warn'] : [],
}
});
export default viteConfig;
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。