我正在尝试整理一个使用Express 4开发的Node.js应用程序,并且对于使用require()导入的模块的范围感到困惑。
假设我在routes/user.js这样的模块中使用require('./services/user')
来导入服务:
var userService = require('./services/user');
然后我在另一个模块routes/department.js中执行相同的require('./services/user')
。
我的问题是:userService在user.js和department.js中是同一实例还是每个模块都有自己的userService对象?也就是说,一旦通过module.exports = XXX导出某个元素,如果你要求相同的文件,你总是会得到相同的实例吗?能否告诉我在Node.js文档中哪里指定了这一点?