1.nodejs提供的内置模块,也叫原生模块,核心模块,内置模块在安装node.js的时候就已经编译成二 进制文件,可以直接加载运行(速度较快),部分内置模块,在node.exe这个进程启动的时候就已经默认加载了,所以可以直接使用
2.文件模块,文件后缀为.js,.json,.node(c/c++编写的模块)加载时,是现加载,现编译,没有指定后缀名,那么就按如下顺序依次加载相应模块,较慢
1. .js
2. .json
3. .node
3.自定义模块(第三方模块)从npm上下载,也需要加载编译,较慢
加载模块
require('./index2.js')
加载顺序
找node_modules文件夹
//index.js->index.json->index.node->index文件夹->package.json->main(入口文件 app.js->index.js/index.json/index.node)->加载失败
require('mime')
缓存机制,任何模块只要被加载过一次,就会被缓存起来,第二次就直接从缓存中取,
核心模块都保存在lib目录下
自定义模块时,不要和核心模块重名
require('./xxx') ./表示当前js文件所在的路径
当require加载一个模块时,会把一个模块中的代码都执行一遍
不会重复加载一个模块,下次加载直接会从缓存中取