为什么我不能在nodejs模块中创建一个闭包

时间:2013-04-11 04:04:00

标签: node.js module requirejs

我正在尝试制作以下nodejs模块:

exports.method = function () {      
  var init = true;

  return function (args) {
     console.dir(args);
  };
};

但是当我调用这个方法时,我没有收到控制台消息:

require('./module.js').method({test: 1});

它返回一个函数而不是调用它。

1 个答案:

答案 0 :(得分:5)

您需要执行外部功能,否则您只需将其分配给exports.method

换句话说:

exports.method = function () {      
  var init = true;

  return function (args) {
     console.dir(args);
  };
}();

请注意尾随()

相关问题