我不是最有经验的Javascript程序员,最近开始了一个web应用程序项目,比我习惯的东西范围更大(主要是用来做公司网站等)
运行应用程序的JS已经变得无法管理作为一个单一的文件,所以我决定最好把它分成更小的函数,并使用gruntJS为我连接所有的东西。
我一直在主应用程序上使用模块化设计模式,但我现在有点困惑,我把它分成了更小的块。以下面的例子为例:
var myProject = (function() {
var init = function() {
effects.widgetColor('lighter'); // this doesn't work
login(); // this doesn't work
myProject.effects.widgetColor('lighter'); // this does work
myProject.login(); // this does work
}
return {
init: init
};
})();
myProject.effects = (function() {
// effects
})();
myProject.login = (function() {
// login stuff
})();
$(document).ready(function() {
init(); // this doesn't work
myProject.init() // this does work
});
我的问题是如何最好地将这些函数添加到'myProject'对象?我相信这是一个简单的基本概念,我只是还没有学会。
谢谢:)
看起来你想使用子模块。这里也有一个类似的问题
Javascript模块模式和子模块初始化模式