node.js中require如何定位module

在node.js中,如果使用require(module)来定位一个模块,有以下几种情况:

1.若module是一个原生模块,则判断其在内存中是否存在,若存在,则加载,否则,从硬盘加载;
2.若module的前缀是./或者..等相对路径,或者/绝对路径,查找该模块,若模块不存在且模块没有后缀名,则添加.js/.node后缀名,继续判断。
3.若module既不是原生模块,也无相对路径或绝对路径,则从[node_modules,global_path]中寻找,其中:
         node-module是以下路径:
          例如,再文件 '/home/ry/projects/foo.js' 中调用 require('bar.js'), 那么node将按照下面的顺序去查找:
/home/ry/projects/node_modules/bar.js
/home/ry/node_modules/bar.js
/home/node_modules/bar.js
/node_modules/bar.js
      global_path是以下路径:
      [NODE_PATH,HOME/.node_modules,NODE_PATH,HOME/.node_libraries,execPath/../../lib/node]
         


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值