JS Closure编译器 - 不要更改函数名

时间:2010-10-03 07:51:17

标签: javascript


我使用http://closure-compiler.appspot.com/home来压缩我的代码。

MY JS文件 * 编辑: *

function test_it()
{
 // some code
}

我的HTML代码

<div onclick="test_it" />test</div>

我的问题是压缩器重命名我的功能。

当我点击(压缩后)div时,我得到错误“test_it未定义”。这是有道理的因为该功能现在有一个新的“短”名称。

是否可以取消激活“在高级模式”中的“重命名功能”功能? 或者还有其他解决方案吗?

提前致谢!
彼得

2 个答案:

答案 0 :(得分:1)

解决方案是通过javascript绑定click事件:

function test_it() {
    // some code
}
document.getElementById("test").onclick = test_it;

HTML:

<div id="test">test</div>

这样编译器仍会更改函数的名称(节省空间),但它也会更改引用的名称 - &gt;问题解决了。

答案 1 :(得分:1)

您的功能中存在错误。您最后有一个结束),而没有必要的;。它应该是:

function test_it()
{
    // some code
}

现在如果您使用简单模式,您将不会遇到任何问题。请注意Advanced mode,因为它可能会执行优化,如果不使用则删除此功能。