为什么“this”在 NodeJS 中是一个空对象?“module.exports”属于哪里?
我认为这"module.exports..."可以写成,"this.module.exports..."但它不会工作。
谢谢
为什么“this”在 NodeJS 中是一个空对象?“module.exports”属于哪里?
我认为这"module.exports..."可以写成,"this.module.exports..."但它不会工作。
谢谢
如果您在实际模块中:
module是对当前模块的引用
exports是对导出数据的引用。它被 NodeJS 缓存并交付给require它的其他模块
thisexports是对对象的替代引用
module.exportsexports是对对象的替代引用
this.module是undefined
this是空的,因为如上所述,它是对与 相同的对象的引用,exports由开发人员填充。
如果this.module是对 的引用module,那么由于this是对 的引用exports,它会将module自身与其他导出的项目一起导出。我怀疑这是需要的。
如果你在 REPL 中,那么this.module是被定义的。