Babel 中文网
  • 中文文档
  • 设置
  • 试一试
  • 视频(需翻墙)
  • 博客
  • 团队
  • 英文官网
Edit

babel-preset-minify

  • 安装
  • 用法
  • 参数

安装

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

用法

通过配置文件(推荐)

{
  "presets": ["minify"]
}

或通过参数设置 -

{
  "presets": [["minify", {
    "mangle": {
      "exclude": ["MyCustomError"]
    },
    "unsafe": {
      "typeConstructors": false
    },
    "keepFnName": true
  }]]
}

通过命令行工具(CLI)

babel script.js --presets minify

通过 Node API

require("@babel/core").transformSync("code", {
  presets: ["minify"]
});

参数

有两种类型的参数:

  1. 通过插件一比一地映射
  2. 相同的参数传递给多个插件

通过插件一比一地映射

  • false - 关闭插件
  • true - 开启插件
  • { ...pluginOpts } - 开启插件并将 pluginOpts 传递给插件
参数名插件默认值
booleanstransform-minify-booleanstrue
builtInsminify-builtinstrue
consecutiveAddstransform-inline-consecutive-addstrue
deadcodeminify-dead-code-eliminationtrue
evaluateminify-constant-foldingtrue
flipComparisonsminify-flip-comparisonstrue
guardsminify-guarded-expressionstrue
infinityminify-infinitytrue
mangleminify-mangle-namestrue
memberExpressionstransform-member-expression-literalstrue
mergeVarstransform-merge-sibling-variablestrue
numericLiteralsminify-numeric-literalstrue
propertyLiteralstransform-property-literalstrue
regexpConstructorstransform-regexp-constructorstrue
removeConsoletransform-remove-consolefalse
removeDebuggertransform-remove-debuggerfalse
removeUndefinedtransform-remove-undefinedtrue
replaceminify-replacetrue
simplifyminify-simplifytrue
simplifyComparisonstransform-simplify-comparison-operatorstrue
typeConstructorsminify-type-constructorstrue
undefinedToVoidtransform-undefined-to-voidtrue

相同的参数传递给多个插件

  • 当多个插件需要相同的参数时,在一个地方声明更容易控制。然后将这些参数传递给两个或多个插件。
参数名插件
keepFnNamePassed to mangle & deadcode
keepClassNamePassed to mangle & deadcode
tdzPassed to builtIns, evaluate, deadcode, removeUndefined

示例

{
  "presets": [["minify", {
    "evaluate": false,
    "mangle": true
  }]]
}
{
  "presets": [["minify", {
    "mangle": {
      "exclude": ["ParserError", "NetworkError"]
    }
  }]]
}
{
  "presets": [["minify", {
    "keepFnName": true
  }]]
}
// is the same as
{
  "presets": [["minify", {
    "mangle": {
      "keepFnName": true
    },
    "deadcode": {
      "keepFnName": true
    }
  }]]
}

You can read more about configuring preset options here

  • 安装
  • 用法
    • 通过配置文件(推荐)
    • 通过命令行工具(CLI)
    • 通过 Node API
  • 参数
Babel 中文网
中文文档
学习 ES2015
社区
视频(需翻墙)用户列表Stack OverflowSlack ChannelTwitter
更多
博客GitHub OrgGitHub RepoWebsite Repo旧版 6.x 网址旧版 5.x 网址
友链
Bootstrap中文网ReactNext.jsDocusaurusBlitzGatsbyRecoilReduxMDXMarkdownVue.jsAlpine.jsVuePressNuxt.jsGridsomePreactSvelteSapperWebpackRollup.jsParcelNPMYarnpnpmGulpjQuerySASSTailwindCSSPurgeCSScssnanoPostCSSJestWebAssemblyDeno
Babel 中文文档采用 MIT 开源协议发布。
本站点(babeljs.cn)仅用于 “Babel 中文文档”,与 babeljs.io 没有任何关系。Babel 项目及相关资源的版权归 babeljs.io 所有。
冀ICP备14002930号-1