使用module.exports导出特定数据是否错误?

时间:2019-04-05 15:50:42

标签: javascript node.js module node-modules

因此,这是我第一次尝试将一个大型js应用程序写入一个文件并将其模块化为单独的文件。目标是创建一个更有条理的文件库,而不是一个大文件库。

有很多api调用和很多共享信息。我正在使用module.exports,但不确定这是否是最好的方法。我想要一些有关如何更正确地进行操作的建议,或者我应该使用其他方法?我正在使用module.exports传回特定数据而不是函数。

例如,以下是身份验证功能,该功能位于较大的文件中,而现在位于authenticate.js中(已删除了一些不相关的部分):

module.exports.authenticate = (logger) => {
  return new Promise((resolve, reject) => {
    const authentication = new logger("Authentication Service"); 

    fs.createReadStream('auth.json').pipe(request.post(('https://example.com/auth'), function (error, response, body) {
      authentication.log('Authenicating API access');

      body = JSON.parse(body);

      token = body.response.token
      if (typeof(token) === 'undefined' || token === '') {
        reject('No Token Available');
      }
      authentication.log('Successfully logged in.');
      module.exports.token = token;
      resolve();
    }));
  })
}

因此,具体地说,我正在使用'module.exports.token =令牌;'为了传回刚刚从api调用中检索到的令牌信息,尽管有很多不同的信息,我还是在相当多个模块中做到了这一点。

这是正确且好的做法吗? 谢谢!

0 个答案:

没有答案