2
是否有一種方便的代碼組織方式,它允許創建模塊模式,但在單獨的文件中定義其內部公開的功能。單獨文件中定義的模塊模式
因此,使用下面的模塊,可以在另一個js文件中定義SomeInternalObject2
,並且仍然可以從第一個文件訪問(假設腳本文件的順序正確)?
var MyModule = (function(){
function SomeInternalObject1(){..}
function SomeInternalObject2(){..}
return {
this.publicFunction = function(){..}
}
})();
編輯:也許我想它在一個錯誤的方式。代碼組織是一個發展時期關注的問題。 Require.js,模塊加載等。是一個運行時問題。
你看過Require.js嗎? SomeInternalObject2不會真的是內部的。我不認爲有一種方法可以將js代碼導入到作用域中(除了「評估它」)。 – AlexanderBrevig 2014-09-30 02:22:10
我已經編寫了我自己的導入函數,它通過'$ .ajax'加載另一個模塊,然後加載'eval'。它像是; 'var Module =(function(){var AnotherModule = loadModule('AnotherModule'); ...})();'這很簡單,可能不是完美的解決方案。希望我將代碼發佈爲答案,否則它不適合您的情況? – renatoargh 2014-09-30 02:25:45
@renatoargh,看起來很有趣,但它不太合適。也許我在錯誤地思考它? – 2014-09-30 03:02:25