require()的工作流程
当require()里传递一个参数x时,会有以下情况:
- x是一个文件
- x是一个路径
eg. 当x为/home/dk/project/app
依次搜索以下的node_modules目录,直到找到app为止
1. /home/dk/project/node_modules/app
2. /home/dk/node_modules/app
3. /home/node_modules/app
4. /node_modules/app
假设app是文件,那么依次搜索下面文件:
1. app
2. app.js
3. app.json
4. app.node
假设app是目录,那么搜索app目录下的这些文件:
1. app/package.json
2. app/index.js
3. app/index.json
4. app/index.node