【发布时间】:2011-02-26 10:37:59
【问题描述】:
以下是 javascript 应用程序的模块化布局示例。我想开始在我的工作中使用这样的结构。我正在努力弄清楚它是如何工作的,并且需要了解如何从不同的模块调用在一个模块中定义的函数?这绝对是布局 JavaScript 繁重应用程序的最佳方式吗?
window.MainModule = (function($, win, doc, undefined) {
var modules = {};
// -- Create as many modules as you need ...
modules["alerter"] = (function(){
var someFunction = function(){ alert('I alert first'); };
return {
init: someFunction
};
}());
modules["alerter2"] = (function(){
var someFunction = function(){ alert('I alert second'); };
return {
init: someFunction
};
}());
return {
init: function(){
for (var key in modules){
modules[key].init();
}
}
};
}(jQuery, this, document));
$(window.MainModule.init);
【问题讨论】:
-
您应该考虑阅读“JavaScript:权威指南,第 5 版”的第 10 章“模块和命名空间”。
-
太。这是一个可怕的模式。在包装器内定义模块,启动所有模块。没有办法从外部添加/删除模块,没有办法决定运行什么,不运行什么......这很愚蠢。更不用说多余的自执行功能了。使代码在语义上看起来模块化并不是模块化的......
-
@BGerrissen 所以任何帮助将不胜感激......
-
看看requirejs.org 并拥抱异步/响应/模块化编程;)
标签: javascript web-applications module