输入
var globalVariableName = 42;
function foo() {
var longLocalVariableName = 1;
if (longLocalVariableName) {
console.log(longLocalVariableName);
}
}
输出
var globalVariableName = 42;
function foo() {
var a = 1;
if (a) {
console.log(a);
}
}
npm install babel-plugin-minify-mangle-names
.babelrc
(推荐).babelrc
// 不包含选项
{
"plugins": ["minify-mangle-names"]
}
// 包含选项
{
"plugins": ["minify-mangle-names", { "exclude": { "foo": true, "bar": true} }]
}
babel --plugins minify-mangle-names script.js
require("babel-core").transform("code", {
plugins: ["minify-mangle-names"]
});
exclude
- 一个普通的 JS 对象,其中键为标识名,值标明是否排除eval
- 通过 eval 在可访问作用域中 mangle 标识符keepFnName
- 防止 mangler 改变函数名称。对于依赖 fn.name
的代码有效。topLevel
- mangle 顶级标识keepClassName
- 防止 mangler 改变类名