我想使用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>
答案 0 :(得分: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;
希望这有帮助!
答案 1 :(得分:1)
好的,你可以做的一些事情,你可以去:
1)window ['functionName'] =将保留它的functionName或
2)在闭包库中链接并使用goog.exportSymbol