浅谈node模块引入与加载机制
模块种类
- 核心模块:
path url file http等- 优先级高,重名时优先加载
- 直接导入模块名,不需要写路径
require('moduleName')
- 文件模块:
- 引入可分为三种
- 绝对路径
require('/moduleName') - 相对路径
require('./dir/moduleName') - 第三方加载方式
require('moduleName')
- 绝对路径
- 如果不加拓展名,则按照
.js .json .node顺序为其加上拓展名
- 引入可分为三种
加载机制
- 优先从缓存中加载
- 对于
require('moduleName')方式导入先当作核心模块加载,如果没有则再当作第三方模块加载
第三方模块加载会一层一层的向外查找。