javascript-如何minfy /混淆全局函数名称?

| 我有一些具有以下格式的代码:
function myfunc1 () { ... jquery.bind(\'click\', myfunc2) ... }
function myfunc2 () { ... }
...
是的,这些函数是全局的,但是没关系,因为我是在google chrome扩展程序内容脚本中编写的,因此已沙盒化。 现在,我正在尝试最小化和混淆代码。我已经尝试过YUI Compressor和Google Closure编译器。问题是,我不知道如何缩小/混淆全局函数名称。使用YUI不会最小化全局变量,以防它们在外部被调用。在高级模式下,使用Closure似乎可以重命名全局变量,但是我在删除无效代码方面遇到了问题。大多数函数似乎已死机,因为它们依赖于DOM交互和事件处理,因此无法直接调用。 那么关于如何最小化这些全局变量的任何想法?我是否只需要编写脚本来进行一些正则表达式替换?如果更适合缩小模式,我也愿意重构我的代码(例如,添加到闭包之类的东西)     
已邀请:
缩小符不会修改公共/全局名称,因为对于许多脚本而言,它们会破坏公共API的可用性和可预测性。 由于您不需要维护公共API,因此通过将它们包装在闭包函数中使其成为“私有”即可:
(function () {

    function myfunc1 () { ... jquery.bind(\'click\', myfunc2) ... }
    function myfunc2 () { ... 
    ...

})();
但是,即使那样,也无法保证,这是由缩小者的作者自行决定的。     
请参阅语义设计JavaScript混淆器。使您可以完全控制哪些符号被混淆,哪些没有被混淆,因此您可以管理这种情况。无需更改您的工作代码。 我为他们工作。     
请参阅Closure编译器的在线文档。 换一种说法: \“导出\”要保留的功能 使用您不想重命名的功能制作一个“ externs”文件 在高级模式下运行Closure编译器     
您可以在代码中对常用的jQuery函数进行本地引用,然后将其最小化? 例如:
$(function() {
   var jQueryAnimate = $.animate,
       jQueryAddClass = $.addClass;

   $(\'.foo\').jQueryAddClass(\'.bar\');
});
    

要回复问题请先登录注册