Node中任何一个模块(js文件)都被一个外层函数所包裹
function(exports,require,module,__filename,__dirname){
exports // 用于支持CommonJS模块化规范的暴露语法
require // 用于支持commonJs模块化规范的引入语法
module // 用于支持COmmonJS模块化规范的暴露语法
__filename // 当前运行文件的绝对路径
__dirname // 当前运行文件所在文件夹的绝对路径
}
为什么要设计这个外层函数?
- 用于支持模块化语法
- 隐藏服务器内部实现(从作用域角度)
Node中的global
node中禁止函数的this指向global