Webpack 在打包的时候,会使用 Terser Plugin 进行 JavaScript 代码压缩,它内部使用了 Terser 这个库。

Terser

Node API 使用方法

  1. const { minify } = require("terser");
  2. let code = "function add(first, second) { return first + second }";
  3. let result = await minify(code, { sourceMap: true });

minify options 的结构如下:

  1. {
  2. parse: {
  3. // parse options
  4. },
  5. compress: {
  6. // compress options
  7. },
  8. mangle: {
  9. // mangle options
  10. properties: {
  11. // mangle property options
  12. }
  13. },
  14. format: {
  15. // format options (can also use `output` for backwards compatibility)
  16. },
  17. sourceMap: {
  18. // source map options
  19. },
  20. ecma: 5, // specify one of: 5, 2015, 2016, etc.
  21. // ...
  22. }

compress options 有哪些呢?

  • drop_console 干掉 console
  • drop_debugger

参考