1️⃣ 模块的查找

2️⃣ 自动补全后缀

如果不提供后后缀名,自动补全 ( js , json , node , mjs )。

2️⃣ 关于文件名

如果仅提供目录,不提供文件名,则自动寻找该目录中的 index.js 文件
package.json 中的 main 字段

  1. 1. 表示包的默认入口
  2. 2. 导入或执行包时若仅提供目录,则使用 main 补全入口
  3. 3. 默认值为 index.js

2️⃣ 绝对路径

image.png

2️⃣ 相对路径

image.png

  1. // 还有一种相对路径是没有 "/" 开头的导入方式
  2. require("a");
  3. // 这种导入方式会首先分析是否为内置模块,如:fs、path等
  4. // 然后检查是否为当前目录中的 node_modules
  5. // 如果还是没有检查到,在检查上级目录的 node_modules
  6. // 最后还是找不到则报错

1️⃣ module 对象

包含了当前模块的信息,谁引用了当前模块,模块的加载状态等。
image.png

1️⃣ require 函数

image.png