NodeJS"这个"空对象

eSi*_*oll 4 javascript this node.js

为什么"this"在NodeJS中是一个空对象?"module.exports"属于哪里?

我认为这"module.exports..."可以写成"this.module.exports..."但不起作用.

谢谢

I H*_*azy 16

如果您在实际模块中:

  • module 是对当前模块的引用

  • exports是对导出数据的引用.它被NodeJS缓存并传递给require它的其他模块

  • thisexports对象的替代引用

  • module.exportsexports对象的替代引用

  • this.moduleundefined

this是空的,因为如上所述,它是对同一个对象的引用exports,它由开发人员填充.

如果this.module是引用module,那么因为它thisexports对它的引用,它将module自己与其他导出项一起导出.我怀疑这是不可取的.


如果您在REPL中,则this.module定义.