2017-07-14 74 views
0

我有一個關於如何在javascript中的模塊/閉包模式進行回調的問題。我有一個名爲代碼:module.js創建回調關閉/模塊化模式的javascript

(function(callback){ 
    var m = {} 

    function create(){ 
    ... 
    let session; 
    ... 
    callback(session); 
    ... 
    } 
    m['create'] = create; 
    return m; 
})() 

,我有文件名爲:main.js凡本文件是巴貝爾/的WebPack

(function(window){ 
    'use strict'; 

    var module = require('./module'); 

    if(typeof(Module) === 'undefined'){ 
     window.Module = module; 
    } 
    else{ 
     console.log("Module already defined."); 
    } 
})(window); 

,然後使用巴貝爾+的WebPack,我產生切入點將新javascript轉換爲ES5,命名爲me.js 我將此me.js加入我的index.html並使用以下方式使用javascript

... 
function onCreate(session){ console.log(session) } 
window.Module.create(onCreate); 
... 

但似乎onCreate方法沒有運行

+0

您創建方法不接受任何參數 –

+0

嗨@MichalHainc感謝您的評論,你能告訴我在哪裏的參數應我把? –

+0

在你的代碼中只有一個創建方法是定義的嗎? ;) –

回答

0

您可能需要導出某物的模塊?像

module.exports=(function(){ 
    var m = {} 
    function create(callback){//goes here 
     ... 
     let session; 
     ... 
     callback(session); 
     ... 
    } 
    m['create'] = create; 
    return m; 
})();