输入
function foo() {var x = 1;}
function bar() { var x = f(); }
function baz() {
var x = 1;
console.log(x);
function unused() {
return 5;
}
}
输出
function foo() {}
function bar() { f(); }
function baz() {
console.log(1);
}
npm install babel-plugin-minify-dead-code-elimination
.babelrc
(Recommended).babelrc
// without options
{
"plugins": ["minify-dead-code-elimination"]
}
// with options
{
"plugins": ["minify-dead-code-elimination", { "optimizeRawSize": true }]
}
babel --plugins minify-dead-code-elimination script.js
require("babel-core").transform("code", {
plugins: ["minify-dead-code-elimination"]
});
keepFnName
- 防止插件删除函数名。适用于依赖于 fn.name
的代码keepFnArgs
- 防止插件删除函数参数。适用于依赖于 fn.length
的代码keepClassName
- 防止插件删除类名。 适用于依赖于 cls.name
的代码tdz
- TDZ的配置 (Temporal Dead Zone)(暂时性死区)