Node.js基础---加载机制

模块的加载机制

1. 优先成缓存中加载

模块在第一次加载后会被缓存,意味着多次调用 require() 不会导致模块代码被多次执行

注意:无论是什么模块都会优先从缓存内加载,以提高加载效率

2. 内置模块的加载机制

内置模块是 Node.js官网提供的模块,其加载优先级最高

3. 自定义模块的加载机制

必须以 ./ 或 ../ 开头的路径标识符,如果没有,则node 会当成内置模块或第三方模块加载

如果省略文件的扩展名,Node.js会按顺序分别尝试加载以下的文件

4. 第三方模块的加载机制

如果传递的是第三方模块(不是内置模块,也没有以 ./ 开头),则会从当前模块的父目录开始尝试从 /node_modulles 文件夹中加载第三模块

如果没有找到对应的第三方模块,则移动到再上一层父目录中进行加载,直到文件系统的根目录

5. 目录作为模块

当把目录作为模块标识符,传递给 require() 进行加载的时候,有三种加载方式

  1. 在被加载的目录下找 package.json 的文件,并找 main 属性,作为 require() 加载入口

  2. 如果没有,或者main不存在或无法解析,则会试图加载目录下的 index.js 文件

  3. 如果以上两步都失败了,则会打印错误消息

相关推荐
彧翎Pro11 分钟前
基于 RO1 noetic 配置 robosense Helios 32(速腾) & xsense mti 300
前端·jvm
小码哥_常23 分钟前
解锁系统设置新姿势:Activity嵌入全解析
前端
之歆40 分钟前
前端存储方案对比:Cookie-Session-LocalStorage-IndexedDB
前端
哟哟耶耶42 分钟前
vue3-单文件组件css功能(:deep,:slotted,:global,useCssModule,v-bind)
前端·javascript·css
是罐装可乐44 分钟前
深入理解“句柄(Handle)“:从浏览器安全到文件系统访问
前端·javascript·安全
华科易迅1 小时前
Vue如何集成封装Axios
前端·javascript·vue.js
康一夏1 小时前
Next.js 13变化有多大?
前端·react·nextjs
糖炒栗子03261 小时前
前端项目标准环境搭建与启动
前端
不是az1 小时前
CSS知识点记录
前端·javascript·css
爱分享的阿Q1 小时前
GPT6-Spud-AGI前夜的豪赌
前端·easyui·agi