nodejs 需要文件的功能不能只在一个地方工作

nodejs require file with function not working in one place only

我在一些奇怪的问题上停留了几个小时,我做了几十次这种操作,但由于某种原因,在其中一个文件中,其他所需的文件 return 为空,无法访问函数。

这里是导出文件,文件名是"user-repo.js":

const constants = require('./constants');
const parseRepo = require('./parse-repo');

    const updateEmail = (userID, email) => {
      return new Promise((resolve, reject) => {
        parseRepo.getUser(userID).then((user) => {
          if(user != undefined){
            user.set(constants.EMAIL_KEY, email);
            return parseRepo.saveObject(user);
          }
        }).then((user) => {
          resolve(user);
        }).catch((e) => reject(e));
      })
    };


    module.exports = {
      updateEmail
    }

在另一个我想使用这个函数的文件中(updateEmail)我是这样的:

const userRepo = require('./user-repo');
function(){
.....
 userRepo.updateEmail(userID,email);
}

并抛出 错误 updateEmail is not a function,我对此进行了调试,发现所需的对象 (userRepo) 为空且没有任何功能,事情是之前在其他文件中我做同样的事情并且 userRepo 工作正常并且具有所有功能。 所有这些文件都在同一个文件夹中 有什么想法吗?

问题是 'Cycles require' 感谢@T.J Crowder 对这个问题的观点,正如他所说,遇到这个问题的每个人都请阅读文档 here