组织JavaScript文件以更好地混淆


utilities.js:
function log(message)
{
....
}
module1.js
YAHOO.util.Event.onDOMReady(function()
{
  log("module1 is loaded");
});
module2.js
YAHOO.util.Event.onDOMReady(function()
{
  log("module2 is loaded");
});

对于页面请求,我将首先加载实用程序.js然后加载模块 1.js 和模块 2.js

现在,当我尝试混淆这些文件时,模块中对"log"的引用不会被混淆,因为它是一个隐含的全局。

我想将模块文件分开(尽管用于同一页面),以便更好的可读性和维护。实用程序中的功能.js也将用于其他页面。

如何更好地组织这些文件以改善混淆?

将代码放在自执行匿名函数中:

(function(){
    YAHOO.util.Event.onDOMReady(function() {
        log("module2 is loaded");
    });
})();

因此,当您的代码将混淆全局函数和变量时,它们仍将具有其原始名称。

我个人喜欢使用RequireJS:http://requirejs.org/

它是一个加载模块的框架,您可以返回要使用的集合或对象,并将所有模块保留在单独的范围内。

相关内容

  • 没有找到相关文章

最新更新