# Node模块加载规则
user/work/test/test1/test2/index.js文件内容var glob = require('glob'),node 查找glob模块的顺序
是否有缓存
是否是node的模块
user/work/test/test1/test2/node_modules有glob.js,停止查找如果有
user/work/test/test1/test2/node_modules/glob文件夹,并且有package.json,并且package.json文件内部的mian指定了具体文件路径,则使用mian字段提供的路径,停止查找
{
"main":"./lib/glob.js"
}
1
2
3
2
3
user/work/test/test1/test2/node_modules/glob无package.json并且有user/work/test/test1/test2/node_modules/glob/index.js,则停止查找没有
user/work/test/test1/test2/node_modules/glob,则回退到user/work/test/test1/node_modules。执行步骤3-5
# 参考文章
https://nodejs.org/api/modules.html#modules_all_together
http://nodejs.cn/api/modules.html#modules_all_together
http://nodejs.cn/api/modules.html#modules_loading_from_node_modules_folders