环境
CommonJS
- 每个文件是一个模块,有自己的作用域
- 在模块内部module变量代表模块本身
- module.exports属性代表模块对外接口
为了方便,Node为每个模块提供一个exports变量,指向module.exports。这等同于在每个模块头部,有一行这样的命令。
var exports = module.exports;
于是我们可以直接在exports对象上添加方法,表示对外输出的接口,如同在module.exports上添加一样。注意,不能直接将exports变量指向一个值,因为这样等于切断了exports与module.exports的联系
require规则
- /表示绝对路径,./表示相对于当前的文件的
- 支持js、json、node拓展名,不写依次尝试
- 不写路径则认为是(nodejs系统库)bulid-in模块或者各级node_modules内的第三方模块
require特性:
- module被加载的时候执行,加载后缓存
- 一旦出现某个模块被循环加载,就只输出已经执行的部分,还未执行的部分不会输出
global
- CommonJS
- Buffer、process、console
- timer
process.nextTick、setTimeout、setInterval、setImmediate
process
- argv、argv0、execArgv、execPath
- env
- cwd()
网友评论