当前位置:首页 » 《资源分享》 » 正文

Vue3 Vite 生产环境如何移除项目中的console + 其他生产日志 + sourcemap

20 人参与  2024年12月29日 14:01  分类 : 《资源分享》  评论

点击全文阅读


Vite:下一代的前端工具链。

目录

一、介绍

1、官方文档:Vite | 下一代的前端工具链

2、配置:构建选项 | Vite 官方中文文档

二、使用方法

1、esbuild(推荐)

2、terser

tips


一、介绍

1、官方文档:Vite | 下一代的前端工具链

Vite | 下一代的前端工具链下一代前端工具链icon-default.png?t=N7T8https://cn.vitejs.dev/

2、配置:构建选项 | Vite 官方中文文档

构建选项 | Vite 官方中文文档下一代前端工具链icon-default.png?t=N7T8https://cn.vitejs.dev/config/build-options.html

二、使用方法

vite.config.ts

1、esbuild(推荐)

{    server: {      ...    },    esbuild: {      drop: mode === 'production' ? ['console', 'debugger'] : []    },    build: {      minify: 'esbuild',      sourcemap: false, // 是否生成sourcemap    },}

注:vite默认使用的是esbuild压缩,esbuild比 terser 快 20-40 倍,压缩率只差 1%-2%。

2、terser

{    server: {      ...    },    build: {      minify: 'terser',      terserOptions: {         compress: {          keep_infinity: true, // 防止 Infinity 被压缩成 1/0,这可能会导致 Chrome 上的性能问题          // 删除生产环境中的console和其他生产日志          drop_console: true,          drop_debugger: true,        },      },      sourcemap: false, // 是否生成sourcemap    },}

tips

1、build.minify#

类型: boolean | 'terser' | 'esbuild'默认: 'esbuild'

设置为 false 可以禁用最小化混淆,或是用来指定使用哪种混淆器。默认为 Esbuild,它比 terser 快 20-40 倍,压缩率只差 1%-2%。Benchmarks

注意,在 lib 模式下使用 'es' 时,build.minify 选项不会缩减空格,因为会移除掉 pure 标注,导致破坏 tree-shaking。

当设置为 'terser' 时必须先安装 Terser。

npm add -D terser

构建选项 | Vite 官方中文文档

2、drop_console 选项默认为 false,需要手动设置为 true 才能去除 console。

3、去除console.log并且可以保留console.error

esbuild: {  drop: ['debugger'],  pure: ['console.log'],},

参考:

https://juejin.cn/post/7122000161902952478
 

 欢迎扫码下方二维码关注VX公众号


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/208776.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1