javascript - 告诉闭包编译器不要重命名任何函数

标签 javascript google-closure-compiler

我想编译部分基于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/

相关文章:

javascript - 如何模拟内部函数?

javascript - 提交表单详细信息的更好方法是什么

javascript - 为什么我收到 "Constructor must be initialized at declaration"google 关闭编译器警告?

javascript - Play 2.2.1 中需要 Google Closure : goog.

javascript - 如何使用内联 JSDoc 指示参数是可选的?

javascript - Mootools:如何使用 'mouseenter' 和 'mouseleave' 停止延迟事件

javascript - 如何模拟 Node readline?

javascript - 为什么这个索引中的 1 + 1 出现在我的指令中?

javascript - 如何不编译 goog.closure 中的某些代码 ADVANCED_OPTIMIZATIONS

php - 解码 Google Closure 编译的 JavaScript 堆栈跟踪