将JavaScript命名空间拆分为多个文件

Pio*_*rek 41 javascript namespaces code-organization

假设我有一个这样的命名空间:

var myNamespace = {
    foo: function() {
    },
    bar: function() {
    }
};
Run Code Online (Sandbox Code Playgroud)

将此代码拆分为定义foobar单独的文件的最佳方法是什么?

我并不担心加载时间 - 我会在部署之前将其连接回一个文件.

gen*_*nry 44

在每个文件的开头:

if(myNameSpace === undefined) {
  var myNameSpace = {};
}
Run Code Online (Sandbox Code Playgroud)

档案1:

myNamespace.foo = function()...
Run Code Online (Sandbox Code Playgroud)

文件2:

myNamespace.bar = function()...
Run Code Online (Sandbox Code Playgroud)


Mar*_*ark 14

// File1:
// top level namespace here:
var myNamespace = myNamespace || {};

// File2:
myNamespace.foo = function() {
    // some code here...
}
Run Code Online (Sandbox Code Playgroud)


cod*_*ros 8

在每个文件中遵循以下模式:

(function(nameSpace) {
    nameSpace.foo = function() { ... };
})(window.nameSpace = window.nameSpace || {});
Run Code Online (Sandbox Code Playgroud)

这样负载排序就不重要了.