0

我一直在用 Javascript 中的(我所理解的)模块模式(或显示模块模式)进行实验。目前我的主要目标是代码组织和清理项目中的全局空间,但我确信还有许多其他好处。

我一直遵循的基本模式看起来大多是这样的:

var myThing = (function(w, $) {

    var priv = {
        // ... private methods
    };
    var public = {
        // ... public methods
    };

    return public;

})(window, jQuery);

通过隐藏 obj 的内部方法和属性,我可以看到这样做的主要好处是更简洁的代码和更好的结构。还有其他我没有看到的显而易见的好处吗?我真的很想知道什么时候什么时候不使用这种模式。

问题 1:所以我喜欢的一件事是能够将 w 和 $ 作为对 window 和 jQuery 的速记引用传递,但是当我尝试向其中添加另一个库时,它似乎不起作用(特别是速度.js)。

编辑:因为我已经包含了 jQuery,velocity 将其自身附加到全局 jQuery obj,导入是针对速度不是的全局变量,因此我不能以相同的方式导入它。

问题 2:其次,我在某处读到,无论加载顺序如何,都可以使这种模式工作,这是真的吗?如果是,应该如何修改?

注意:至关重要的是,我试图理解这种模式以及它的可能性,而不是诸如实现 require 或 borwserify 之类的替代。

4

1 回答 1

1

因此,经过一些反复和一些研究,我创建了以下小模板,我将其用作使用显示模块模式的一般起点。

https://gist.github.com/Pushplaybang/39ce46ec5b3d5502bb0c

加载速度的问题只是我错误地调用了对象。

于 2015-04-20T12:10:36.943 回答