Babel 参考手册
预设 | Presets
minify
- 安装
- 使用
- 选项
安装
npm install --save-dev babel-preset-minify使用
通过 .babelrc (推荐)
.babelrc
{
  "presets": ["minify"]
}或者添加选项 -
{
  "presets": [["minify", {
    "mangle": {
      "exclude": ["MyCustomError"]
    },
    "unsafe": {
      "typeConstructors": false
    },
    "keepFnName": true
  }]]
}通过 CLI
babel script.js --presets minify通过 Node API
require("babel-core").transform("code", {
  presets: ["minify"]
});选项
包含以下两种选择:
- 1-1 插件映射
- 相同选项传递给多个插件
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
    }
  }]]
} 
         
                                 加载中,请稍侯......
 加载中,请稍侯......