0

我想使用 Google Closure Compiler 来最小化 javascript,但在最小化版本中它会重命名函数名称。这是预期的行为吗?在那种情况下如何使用它?

lib.js

function myfun() {
   $('#test').hide();
}

lib.min.js

function myfun$$module$main(){$("#test").hide()}

看法

<a href="#" onclick="myfun()">no longer works</a>
4

2 回答 2

1

您应该将事件处理程序分配给 JavaScript 中的 HTML 元素,以便在编译过程中 Google Closure 也可以重命名这些函数。您还可以使用不重命名函数或表达式的更简单版本的优化 ( WHITESPACE_ONLY )。

为 HTML 元素分配一个 ID:<a href="#" id="link">does this work?</a>

在您的 JavaScript 中,分配事件:

var link = document.getElementById("link");
var myFun = function () {
    alert("hello world");
};
link.onclick = myFun;

希望这可以帮助!

于 2013-01-24T08:38:45.893 回答
1

好的,你可以在那里做一些事情,你可以去:

1) window['functionName'] = functionName 将保留它或

2)在闭包库中链接并使用 goog.exportSymbol

于 2013-01-24T09:27:16.503 回答