我在正在构建的节点模块中通过export公开了一个函数。我希望能够让该函数在同一模块内调用内部( private )函数。

到目前为止,我有类似的东西:

someModule.js

var publicFunc = function(a, b) {
  var obj = {result: 'of some processing'};
  return privateFunc(obj);
}

var privateFunc = function(obj) {
  /* proccessing */
  return result;
}

exports.publicFunc = publicFunc;

publicFunc调用privateFunc时,我得到:

参考错误: undefined privateFunc;

最佳答案

将声明更改为function name(...而不是var name = function(...

function publicFunc(a, b) {
  var obj = {result: 'of some processing'};
  return privateFunc(obj);
}

function privateFunc (obj) {
  /* proccessing */
  return result;
}

exports.publicFunc = publicFunc;

07-28 07:25