1.node.js模块分类
1.核心模块:又称内置模块,原生模块。例如:fs,url,path,http...
2.文件模块:一个.js/.json/.node文件是一个模块
3.自定义模块:又称第三方模块 例如 mine,cheerio...
所有的内置模块在安装node.js的时候已经编译成二进制文件,可以直接加载运行(速度较快),部分内置模块,在node.exe这个进程启动的时候就已经默认加载了
文件模块与自定义需要现加载现编译,比较慢
2.node.js的加载顺序
require加载模块是同步的
-
看 require() 加载模块时传入的参数是否以 './' 或 '../' 或 '/' 等等这样的路径方式开头(相对路径或绝对路径都可以)
-
是,那么会按照传入的路径直接去查询对应的模块。
-
传入的是否为具体的文件名
-
require('./test.js') 是具体的文件名
-
直接根据给定的路径去加载模块,找到了加载成功,找不到加载失败
-
-
require('./test'); 不是具体的文件名、
-
第一步:根据给定的路径,依次添加文件后缀 .js、.json、.node进行匹配,如果找不到匹配执行第二步
-
第二步:查找是否有 test 目录(尝试找 test 包)
-
找不到:加载失败
-
-
-