Node程序传递参数
- 传参
node index.js lp env=dev - 取参
console.log(process.argv);
Node输出内容方式
- console.log(1)
- console.clear(); 清空控制台
- console.trace(); 打印函数调用栈
特殊的全局对象
- 为什么特殊
- 模块中的变量,每个模块都有,看起来像是全局对象
- 在命令行交互是不可以使用
- 包括:__dirname、__filename、exports、module、require()
- __dirname:绝对路径
- __filename:文件名字
常见的全局对象
- process:Node的运行环境、参数信息等
- console
- 定时器函数
- setTimeout
- setInterval
- setImmediate 立即执行回调
- process.nextTick 添加到下一次tick队列
global全局对象
在Node中定义一个变量并不会像浏览器中window添加一个属性那样,它只是在当前模块中有一个变量,不会放到全局中
CommonJs
- 在Node中,每一个js都是单独的模块
- exports
- module.exports
- require
- 缺点:加载模块是同步的
AMD
异步加载模块,很少用
CMD
异步加载模块,很少用,SeaJS
ES Module
- import
- export
Node对ES Module的支持
- current
- 方式一:package.json配置type:module
- 方式二:文件以.mjs结尾
- LST版本:能用,但会报警告