我想编译部分基于Mootools库的JS代码。
我希望所有变量都被重命名,但没有函数、被调用的和定义的函数被重命名。因为调用的大部分都是来自mootools,而定义的都是从外部调用的:
要编译的代码:
// textnum is safe to be renamed, all variables are
textnum = 0;
// loadText can't be ranmed because is called from outside
function loadText()
{
textnum++;
document.body.setStyle("font", "12px");
// here setSyle can't be renamed
}
有没有办法告诉它只重命名变量?
我发现这是一个开源项目,有没有办法以某种方式操纵它,但它根本不接触功能!?
最佳答案
将要编译的代码放在命名空间或匿名函数包装器中,并使用简单的优化。这会重命名所有内部变量和函数,但不会重命名全局变量和函数,例如 setStyle
。
不应重命名的函数是在全局范围内定义的。与定义 extern 和导出相比,这并没有那么痛苦。
关于javascript - 告诉闭包编译器不要重命名任何函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13892826/