您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Babel minify

如果您还没有使用babel(作为预设)或想要独立运行它,请使用babel minify。

安装

npm install --save-dev babel-preset-minify

使用

.babelrc

{
  "presets": ["minify"]
}

或者选项 -

{
  "presets": [["minify", {
    "mangle": {
      "exclude": ["MyCustomError"]
    },
    "unsafe": {
      "typeConstructors": false
    },
    "keepFnName": true
  }]]
}
babel script.js --presets minify
require("babel-core").transform("code", {
  presets: ["minify"]
});

选项

包含以下两种选择:

1-1 映射

相同选项传递给多个

false - 禁用

true - 启用

{ ...pluginOpts } - 启用并将 pluginOpts 传递给。

选项名

认值

booleans

transform-minify-booleans

true

builtIns

minify-builtins

true

consecutiveAdds

transform-inline-consecutive-adds

true

deadcode

minify-dead-code-elimination

true

evaluate

minify-constant-folding

true

flipComparisons

minify-flip-comparisons

true

guards

minify-guarded-expressions

true

infinity

minify-infinity

true

mangle

minify-mangle-names

true

memberExpressions

transform-member-expression-literals

true

mergeVars

transform-merge-sibling-variables

true

numericLiterals

minify-numeric-literals

true

propertyLiterals

transform-property-literals

true

regexpConstructors

transform-regexp-constructors

true

removeConsole

transform-remove-console

false

removeDebugger

transform-remove-debugger

false

removeUndefined

transform-remove-undefined

true

replace

minify-replace

true

simplify

minify-simplify

true

simplifyComparisons

transform-simplify-comparison-operators

true

typeConstructors

minify-type-constructors

true

undefinedToVoid

transform-undefined-to-void

true

当多个需要相同选项时,可以简单的声明在相同位置。这些选项会被传递到两个或更多的中。

选项名

keepFnName

通过 mangle & deadcode

keepClassName

通过 mangle & deadcode

tdz

通过 builtIns, evaluate, deadcode, removeUndefined

例如

{
  "presets": [["minify", {
    "evaluate": false,
    "mangle": true
  }]]
}
{
  "presets": [["minify", {
    "mangle": {
      "exclude": ["ParserError", "NetworkError"]
    }
  }]]
}
{
  "presets": [["minify", {
    "keepFnName": true
  }]]}// 等同于{
  "presets": [["minify", {
    "mangle": {
      "keepFnName": true
    },
    "deadcode": {
      "keepFnName": true
    }
  }]]
}



联系我
置顶