2014-12-03 66 views
0

我試圖將模塊組織到NAMESPACES(請參見下面的示例),並儘可能少地依賴最新的巧妙命名的JavaScript庫或框架。我知道這個問題不是令人難以置信的重點,但是不是一個可擴展的方法?是否有其他方法可以擴展我應該注意的JavaScript?如何構建一個大型JavaScript應用程序?

我應該補充說,這是一個Chrome應用程序。

var MODULE_A = (function() { 
    var A_CONSTANT_NUMBER = 1; 
    var myPrivateVar_ = 2; 

    var privateMethod1 = function() { 
    console.log("A.privateMethod1"); 
    }; 

    var privateMethod2 = function() { 
    console.log("A.privateMethod2"); 
    }; 

    return { 
    aPublicVar1: 3, 

    publicMethod1: function() { 
     console.log("A.publicMethod1"); 
    }, 

    publicMethod2: function() { 
     console.log("A.publicMethod2"); 
    } 
    } 
})(); 
+1

我會建議使用requirejs方法來做到這一點。查看DI – FabianCook 2014-12-03 21:35:03

+0

CommonJS(由Node.js和npm使用)+ browserify:http://browserify.org/。另外,ES6將引入模塊。 – 2014-12-03 21:35:32

回答

1

看看requirejs。它使得你的建議非常容易,也增加了依賴性解析/加載。

0

全局命名空間並不能爲您提供足夠的現代模塊系統可以帶給您的好處。

如果您正在編寫節點應用程序,或者在爲瀏覽器編寫代碼時可能需要使用requirejs,則應該考慮使用commonjs。兩者都可以讓你正確定義一個模塊在另一個模塊上的依賴關係,給你正確的封裝,最重要的是跟蹤你的依賴關係圖。 Amd進一步爲您提供了運行時異步加載,這很好,但也帶來了一些額外的麻煩。

像這樣正確地封裝你的模塊給你一個更好的方法來構建一個可擴展到無限大的代碼庫。不是名稱間距在這裏甚至不是問題,名稱是從文件路徑和/或模塊配置派生的。在本地,您可以根據需要命名返回值或模塊導出。

相關問題