【高薪常问】require的模块加载机制

本文探讨了Node.js中require模块的加载流程,包括从缓存中查找、计算模块路径以及加载模块的过程。首先,require会检查缓存,已加载的模块将直接从缓存获取。接着,它会计算模块路径,对于文件模块,require会根据扩展名顺序在node_modules目录下查找。在找不到明确入口时,默认执行index.js。最后,当所有条件满足后才会加载模块,并且只能访问模块公开的属性和方法。推荐使用export进行接口暴露。
摘要由CSDN通过智能技术生成

为什么问require的模块加载机制?

这道题基本上就可以了解到面试者对node模块机制的了解程度




1.查找缓存

require会先去缓存查看,如果是以前引用过的文件,直接从缓存取出.

缓存机制,任何模块只要被加载过一次,就会被缓存起来,第二次就直接从缓存中取,

2.计算模块路径

        1.判断是核心模块还是文件模块(三方模块 / 自定义模块)

此后以文件模块举例:

        2.看require方法中是否写扩展名。

如果没有写扩展名:

require会按照:.jsÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值