模块查找规则
当前模块拥有路径但没有后缀时
require('./find.js') // 1
require('./find') // 2
- require 方法根据模块查找路径查找模块,如果是完整路径,直接引入模块
- 如果模块后缀省略,先找同名 JS 文件,再找同名 JS 文件夹
- 如果找到了同名文件夹,找文件夹中的
index.js - 如果文件夹中没有 index.js 就会去当前文件夹中的
package.json文件中查找main选项中的入口文件 - 如果找指定的入口文件不存在或者没有指定入口文件就会报错,模块没有找到
当模块没有路径且没有后缀时
require('find')
- Node.js 会假设它是系统模块
- Node.js 会去
node_modules文件夹中 - 首先看是否有该名字的 JS 文件
- 再看是否有该名字的文件夹
- 如果是文件夹看里面是否有
index.js - 如果没有 index.js 查看该文件夹中的
package.json中的main选项确定模块入口文件 - 否则找不到报错
本文详细解析了Node.js中模块的查找与加载规则,包括如何处理模块路径、后缀及目录结构,阐述了Node.js如何根据require语句查找模块,以及在不同情况下模块的加载流程。

414

被折叠的 条评论
为什么被折叠?



