CommonJs
require的伪代码如下:
1 | function require(modulePath) { |
总结:
- 模块在函数环境里
- 变量在函数作用域,不共享
- var声明的变量挂载在函数
- 不用var或let或const声明的变量挂载在global上
- 一开始模块里,this===exports===module.exports
- 模块最终导出的始终是module.exports
- global在一个node.js环境中共享
举个例子
1 | this.a = 1; |
require的伪代码如下:
1 | function require(modulePath) { |
总结:
举个例子
1 | this.a = 1; |