长期用户,第一次提问。
我有一个文件(让我们称之为file.js),我试图在文件顶部要求另一个名为user.service.js的文件:
var userService = require('./user.service');
我非常确定路径正确并且user.service.js
文件正在导出已填充的对象:
在user.service.js中:
module.exports = {
signIn: signIn,
signUp: signUp,
updateProfile: updateProfile
};
但是,userService始终是一个空对象{}。奇怪的是,如果我在同一目录中重新创建另一个名称的文件(例如user.service2.js),则require语句可以正常工作。或者,如果我将file.js重命名为其他内容,例如file2.js,通话有效。另外,如果我在user.service.js中的函数内部需要该文件,该语句也可以。但是,我更喜欢将require语句放在文件的顶部,并且可以使用其中的所有函数。
提前感谢您的帮助。
编辑:
以下是一些示例代码:
var userService = require('./user.service');
var testFunc = function () {
console.log(userService);
// this logs: {}
var userServiceInternal = require('./user.service');
console.log(userServiceInternal);
// This logs:
// {
// signIn: [Function],
// signUp: [Function],
// updateProfile: [Function]
// }
};
答案 0 :(得分:2)
我想通了......我有一个循环的依赖。感谢您的评论!