- CommonJS
- 每个文件是一个模块,有自己的作用域
- 在模块内部module变量代表模块本身
- module.exports属性代表模块对外接口
- require规则
- /表示绝对路径,./表示相对于当前文件的路径
- 支持js、json、node扩展名,不写依次尝试
- 不写路径则认为是build-in模块或者各级node_modules内的第三方模块
- require特性
- module被加载的时候执行,加载后缓存
- 一旦出现某个模块被循环加载,就只输出已经执行的部分,还未执行的部分不会输出
- global
- CommonJs
- Buffer、process、console
- process
- argv
- argv0
- execArgv
- timer
- path
- __dirname、__filename总是返回文件的绝对路径
- process.cwd()总是返回执行node命令所在文件夹
- buffer
- Buffer用于处理二进制数据流
- 实例类似整数数组,大小固定
- c++代码在V8堆外分配物理内存
- event
- fs
- readFile
- writeFile
- stat
- rename
- unlink
- readdir
- mkdir
- rmdir
- watch
- readstream
- writestream
- promisify
- async_await
- 缓存
- Expires, Cache-Control
- If-Modified-Since/Last-Modified
- If-None-Match/ETag