浅谈node模块引入与加载机制

模块种类

  1. 核心模块: path url file http
    • 优先级高,重名时优先加载
    • 直接导入模块名,不需要写路径 require('moduleName')
  2. 文件模块:
    • 引入可分为三种
      • 绝对路径 require('/moduleName')
      • 相对路径 require('./dir/moduleName')
      • 第三方加载方式 require('moduleName')
    • 如果不加拓展名,则按照 .js .json .node 顺序为其加上拓展名

加载机制

  1. 优先从缓存中加载
  2. 对于 require('moduleName') 方式导入先当作核心模块加载,如果没有则再当作第三方模块加载

第三方模块加载会一层一层的向外查找。