**Node引入模块的时候:
路径分析 -> 文件定位 -> 编译执行**
**对应加载module加载顺序
缓存加载 -> 核心模块->自定义模块**
核心模块指的是fs,http等
1.路径分析
相对路径模块在分析路径的时候,require会把路径变成真实路径。以绝对路径作为索引,编译执行后放入缓存,二次引入时加快。
2.文件定位
require会处理没有后缀的文件,以.js,.json,.node的顺序去补充扩展名。调用fs模块去判断文件是否存在。
3.模块编译
定位过后,node新建模块对象。
js文件采取fs模块直接进行编译,json采取JSON.parase()解析。