node 和浏览器是两个不同的运行 js 的平台,对于浏览器来说,我们知道全局对象有window,对应的 node 中就是 global
常见的全局对象有
- 真正的全局对象
- global
- console
- console是宿主环境【node、浏览器】中的对象,所以我们在生产环境要减少使用,因为会影响性能,请参考这篇文章
- setTimeout、setInterval
- process
- process.env 【常用的环境变量】
- process.nextTick()【优先级最高的微任务】
- process.cwd ()【获取当前进程的工作目录】
- process.platform 【变量,当前的操作系统平台,也可以使用 os 核心模块获取】
- process.stdout、process.stdin【标砖输入输出,相比 console 更加底层】
- 模块级别的全局对象
- __dirname / __filename
- exports
- exports.xxx = xxx 导出一个变量
- 这是 commonjs 的写法
- module
- 当前模块的引用,通过 module.exports 导出内容
- 这是 commonjs2 的写法
- require