Module.exports函数为变量返回“未定义”

时间:2018-09-21 10:07:48

标签: javascript node.js

我有以下具有导出功能的js文件:

module.exports = {
  setClientAuthToken: function(authToken) {
    setClientAuthToken(authToken);
  },
  getClientAuthToken: function() {
    getClientAuthToken();
  }
};

var clientAuthToken;

function setClientAuthToken(authToken) {
  clientAuthToken = authToken;
}

function getClientAuthToken() {
  console.log('here!!!!!!');
  console.log('auth token' + clientAuthToken);
  if (!clientAuthToken) {
    console.error("Client Auth Token has not been set");
  } else {
    return clientAuthToken;
  }
}

两个函数都能正常工作并被成功调用,但是从clientAuthToken返回的getClientAuthToken变量是'undefined'。

当我将auth令牌登录到函数本身中时,可以看到它已正确设置。我在这里做错了什么?我是否还需要export中的变量module.exports

1 个答案:

答案 0 :(得分:4)

  

但是从getClientAuthToken返回的clientAuthToken变量   是“未定义”。

因为您什么都没退。

return添加到功能getClientAuthToken

module.exports = {
  setClientAuthToken: function(authToken) {
    setClientAuthToken(authToken);
  },
  getClientAuthToken: function() {
    return getClientAuthToken(); // <-- return
  }
};