深入浅出
原创小于 1 分钟
文件模块
node引入模块三个步骤:
- 路径解析
- 文件定位
- 编译执行
例如require('element') 时,在node_modules中找到的是个文件夹,node会将目录当一个包来处理。
(查找的兜底是index文件名)
- 在当前目录下找到package.json
- 通过JSON.parse()解析出包描述对象,从中取出main属性制定的文件名
异步I/O
系统的异步io
非阻塞i/o会让CPU处理状态判断。通过轮询处理
轮询的演进:
- read
- select
- poll
- epoll
通过线程池来完成异步I/O
node的异步io
在进程启动的时候,node便会创建一个类似while(true)的循环,每一次循环为一次tick