CommonJs加载规范

209 阅读1分钟


nodeJs的require包加载规则

如果引用的是一个相对路径的,require('./a')如上图所示

如果有含package.json的a目录,会从里面读取package内的main入口,存在就返回

如果不存在,会去当前目录寻找a文件,自动增加.js或者.json,如果有返回,没有又会去a目录下找index.js

如果加载的是一个require('a')

node会认为你读取的是一个node_modules下的包文件,他会读取当前目录node_modules下的a包,如果没有,会一直向上查找,从当前目录的node_modules逐级找到磁盘根目录下的node_modules,如果存在会返回