2014-09-30 32 views
2

是否有一種方便的代碼組織方式,它允許創建模塊模式,但在單獨的文件中定義其內部公開的功能。單獨文件中定義的模塊模式

因此,使用下面的模塊,可以在另一個js文件中定義SomeInternalObject2,並且仍然可以從第一個文件訪問(假設腳本文件的順序正確)?

var MyModule = (function(){ 
    function SomeInternalObject1(){..} 
    function SomeInternalObject2(){..} 
    return { 
    this.publicFunction = function(){..} 
    } 
})(); 

編輯:也許我想它在一個錯誤的方式。代碼組織是一個發展時期關注的問題。 Require.js,模塊加載等。是一個運行時問題。

+0

你看過Require.js嗎? SomeInternalObject2不會真的是內部的。我不認爲有一種方法可以將js代碼導入到作用域中(除了「評估它」)。 – AlexanderBrevig 2014-09-30 02:22:10

+0

我已經編寫了我自己的導入函數,它通過'$ .ajax'加載另一個模塊,然後加載'eval'。它像是; 'var Module =(function(){var AnotherModule = loadModule('AnotherModule'); ...})();'這很簡單,可能不是完美的解決方案。希望我將代碼發佈爲答案,否則它不適合您的情況? – renatoargh 2014-09-30 02:25:45

+0

@renatoargh,看起來很有趣,但它不太合適。也許我在錯誤地思考它? – 2014-09-30 03:02:25

回答

0

看看jTable(javascript)。作者從不同文件中增加主要對象。這不完全是你所要求的,但意圖或目標似乎相似。我可能會稍後添加代碼。

相關問題