为javascript

时间:2017-07-14 09:41:38

标签: javascript closures modular

我有一个关于如何在javascript中以模块/闭包模式进行回调的问题。我有一个名为module.js

的代码
 (function(callback){ 
   var m = {}

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

我的文件名为:main.js,此文件为 babel / webpack的入口点

(function(window){
    'use strict';

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

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

然后通过使用babel + webpack,我生成新的javascript,转换为ES5,名为me.js 我将此me.js添加到我的index.html并按以下方式使用javascript

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

但似乎onCreate方法没有运行

1 个答案:

答案 0 :(得分:0)

您可能想在模块中导出某个?像

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