模块从缓存中加载(了解)
**模块的加载机制:**优先从缓存中加载
模块在第一次加载后会被缓存。这也意味着多次调用require() 不会导致模块的代码被执行多次。
**注意:**不论是内置模块、用户自定义模块、还是第三方模块,它们都会优先从缓存中加载,从而提高模块的加载效率。
**内置模块的加载机制:**内置模块的加载优先级最高。
自定义模块的加载机制:必须指定以./ 或 …/ 开头的路径标识符加载否则会把它当作内置模块或第三方模块进行加载。
如果按确切的文件名没有找到模块,则Node.js 会尝试带上 .js、 .json 或 .node 拓展名再加载。
⚫ .js 文件会被解析为JavaScript 文本文件
⚫ .json 文件会被解析为JSON 文本文件
⚫ .node 文件会被解析为通过process.dlopen() 加载的编译后的插件模块
**第三方模块的加载机制:**从当前模块的父目录开 始,尝试从它的/node_modules 目录里加载模块。
目录作为模块: