node模块加载
node模块加载
1、内置模块和第三方模块加载
require("fs") // 不用加路径
内置模块优先级 > 第三方模块
2、自定义模块
require("./abc") //必须添加 ./ 或者 ../ 这样的文件路径标识符
2.1 文件加载顺序
1、先加载 abc文件
2、再加载 abc.js
3、再加载 abc.json
4、再加载 abc.node
2.2 如何自定义模块
文件结构:
- node_modules
-- abc
--- package.json
--- index.js
--- README.md
定义js的位置:
在package.json中的main中指定js
3、第三方模块的加载机制
从当前文件目录中查找,一直找到根目录,如果没找到就报错
假设现在在C:\Windows\System32\abc.js中使用了require('tools'),那么它的加载顺序为
1、在C:\Windows\System32\node_modules\tools 查找
2、在C:\Windows\node_modules\tools 查找
3、在C:\node_modules\tools 查找
4、都没有的话就报错
4、目录作为模块加载
1、优先加载该目录下 package.json中main指定的js
2、再加载该目录下 index.js 文件