0

我不是最有经验的 Javascript 程序员,最近开始了一个网络应用程序项目,它比我习惯的东西范围更大(主要用于做公司网站等)

运行应用程序的 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”对象中?我确信这是一个我还没有学过的简单的基本概念。

谢谢 :)

4

1 回答 1

0

看起来您想使用子模块。这里有一个类似的问题

Javascript 模块模式和子模块初始化的模式

于 2013-06-18T13:33:46.663 回答