Hello! 欢迎来到小浪资源网!



Vite 5 打包:如何只清除 console.log 方法,保留 console.info 方法?


avatar
1986424546 2024-11-15 30

Vite 5 打包:如何只清除 console.log 方法,保留 console.info 方法?

优化打包:排除特定 console 方法

问题:

在 vite 5 打包时,想要清除特定的 console 方法,如 console.log,但不清除其他方法,如 console.info。如何配置?

解答:

解决此问题的步骤如下:

  1. 在项目的 vite.config.JS 文件中,找到 build 配置。
  2. 在 build 配置中,添加一个 terseroptions 对象,用于配置 terser 打包器。
  3. 在 terseroptions 对象中,添加一个 ecma 属性,用于指定 ecmascript 版本。
  4. 将 ecma 属性设置为 2020,因为它包含对 console.log 的原生支持,而无需 polyfill。
  5. 在 terseroptions 对象中,添加一个 keep_fargs 属性,用于指定要保留的函数参数。
  6. 将 keep_fargs 属性设置为 false,以清除 console.log 和其他不必要的函数参数。
  7. 在 terseroptions 对象中,添加一个 compress 属性,用于配置 terser 压缩选项。
  8. 在 compress 属性中,添加一个 drop_console 属性,用于指定要清除哪些 console 方法。
  9. 将 drop_console 属性设置为 true,并排除要保留的方法,在这种情况下是 console.info:
// vite.config.js export default {   build: {     terserOptions: {       ecma: 2020,       keep_fargs: false,       compress: {         drop_console: true,         keep_fargs: true,         pure_getters: true,       },       keep_classnames: true,       keep_fnames: true     }   } };

这样配置后,vite 5 在打包时将清除 console.log 但保留 console.info。

相关阅读