node的模块查找策略
node的模块查找策略
一共分为4种
- 文件查找
- 文件夹查找
- 内置模块查找
- 第三方模块查找
文件查找,文件夹查找
- 带路径的时候 都是先执行文件查找,再执行文件夹查找
- 先查找xx文件 如果都没有 就查找 xx.js xx.json 再查找 xx文件夹
- 若文件夹中有 package.json 且 配置了
main
则 import 文件夹时 相当于 import 了 这个main
所指的文件
示例
require('./a'); // a文件=> a.js文件 => a.json文件 => a文件夹下是否有index.js文件
require('../a');require('/a');
{"main": "xx.js"
}
内置模块查找
require('fs'); // node自带模块
第三方模块查找
- 查找当前目录下的 node_modules 下的 a(此时相当于 文件/文件夹查找)
- 如果当前目录没有 node_modules 则查找上级目录的 node_modules. 如果都没有继续查找上级的上级…直到根目录
require('a');