node中require加载规则
1:require('模块标识')会优先从缓存中加载(已经加载过一遍的文件不会重复去执行,直接去缓存中找)
2:require('本地路径文件')必须要加 . 或 .. 这样就能识别不是核心模块也不是第三方模块,直接去本地找
3:require('第三方模块')首先判断核心模块是否有
(所有的第三方模块都不会与核心模块重名,不然压根都审核不过),如果没有那判定为第三方模块。
3.1:首先会先在该目录下查找一个叫 node_modules的文件 -- 第三方模块名 -- package.json -- man("man" : "index.js",) 根据man引用相应的文件
3.2:如果package.json文件不存在或man.js指定的入口模块也没有,node就会找该第三方模块名字目录下的index.js
3.3:如果一开始在根目录下查找连node.modules文件都没有或是上面的条件都不成立,那就往上一级目录用同样的方式查找,直到找到根目录,根目录也没有的话就报错
本文来自博客园,作者:封兴旺,转载请注明原文链接:https://www.cnblogs.com/fxw1/p/14089148.html