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");
});
对于页面请求,我首先加载utilities.js然后加载module1.js和module2.js
现在,当我尝试模糊这些文件时,模块中对“log”的引用不会被混淆,因为它是隐含的全局。
我希望将模块文件分开(尽管为同一页面提供服务),以提高可读性和维护性。 utilities.js中的函数也可用于其他页面。
如何更好地组织这些文件以改善混淆?
答案 0 :(得分:0)
将代码放在自执行匿名函数中:
(function(){
YAHOO.util.Event.onDOMReady(function() {
log("module2 is loaded");
});
})();
因此,当您的代码混淆全局函数时,变量仍将具有原始名称。
答案 1 :(得分:0)
我个人喜欢使用RequireJS:http://requirejs.org/
这是一个加载模块的框架,您可以返回要使用的集合或对象,并将所有模块保留在各个范围内。