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