###环境
-
commonjs
-
global
-
process
###CommonJS
-
每个文件是一个模块(同样一个文件也就只能有一个模块),有自己的作用域
-
在模块内部
module
变量代表模块本身 -
module.exports
属性代表模块对外接口
###reuqire 规则
-
/
表示绝对路径,./
表示相对于当前文件的 -
支持
js
、json、
node``` 拓展名,不写依次尝试 -
不写路径则认为是
build-in
模块或者各级node_modules
内的第三方模块
###require 特性
-
module 被加载的时候执行,加载后缓存
-
一旦出现某个模块被循环加载,就只输出已经执行的部分,还未执行的部分不会输出(比较绕,所以写代码的时候一定要尽量避免模块的循环引用)