nodejs中模块查找规则

 更新时间:2026年01月16日 08:48:05   作者:新节  
本文介绍了Node.js模块的查找规则,主要包括核心模块、相对路径、绝对路径和第三方模块的解析方式,具有一定的参考参考价值,感兴趣的可以了解一下

当你在代码中使用import 或 require语句引入模块时,Node.js 会按照以下顺序查找模块:

一、基本查找规则

1,核心模块(内置):
如果模块名是Node.js核心模块(如fs、path、http等),则直接使用核心模块。

2,相对路径:
如果模块名以./或../开头,则将其视为相对路径,解析为相对于当前文件的路径。

3,绝对路径:
如果模块名以/开头,则将其视为绝对路径,解析为文件系统中的绝对路径。

4,第三方模块:

如果模块名不是以上三种情况,则将其视为一个包名,Node.js会在node_modules目录中查找该包(下面会介绍)

二、第三方模块的查找步骤

如果写入的路径不是以相对路径或者绝对路径开始的,直接写的element-plus:

import ElementPlus from 'element-plus'

此时,我们引入的是一个第三方模块时,Node.js会按照以下步骤查找模块:

1,逐级向上查找:

Node.js会从当前文件所在目录开始,逐级向上查找node_modules目录,直到找到匹配的包或到达文件系统的根目录。

2,读取package.json:

如果在任何一级目录中找到了node_modules目录,并且该目录包含所需的包,则Node.js会读取该包的package.json文件,以确定包的入口文件(通常是main字段指定的文件)。

如下图element-plus的入口文件:

main配置选项:

 "main": "lib/index.js",

可以看到, element-plus的入口文件是lib/index.js。当我们在页面中引入import ElementPlus from 'element-plus 时,它会首先进入lib/index.js 这里面;

那如果没有package.json文件或main字段为空呢?会默认使用index.js文件作为入口文件.

3, 默认入口文件:

如果没有package.json文件或main字段,Node.js会默认使用index.js文件作为入口文件。

上面这几部查找过程是递归的,会向上一级目录逐层查找,直到根目录,如果还没找到,则抛出错误:

Error: Cannot find module 'element-plus'  // [!code warning]

官方介绍https://nodejs.org/api/modules.html#loading-from-node_modules-folders

到此这篇关于nodejs中模块查找规则的文章就介绍到这了,更多相关node 模块查找内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 爬虫利器Puppeteer实战

    爬虫利器Puppeteer实战

    本文详细的介绍了什么是Puppeteer以及使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • 浅谈express.js框架中间件(middleware)

    浅谈express.js框架中间件(middleware)

    这篇文章主要介绍了浅谈express.js框架中间件(middleware),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-04-04
  • 浅谈express 连接在线数据库踩坑

    浅谈express 连接在线数据库踩坑

    本文记录了连接远程MySQL数据库过程中遇到的常见问题及解决方案,包括用户权限、防火墙、安全组、VPN等,具有一定的参考价值,感兴趣的可以了解一下
    2025-08-08
  • Node.js 构建命令行工具之实现 ls 命令的 -a 和 -l 选项

    Node.js 构建命令行工具之实现 ls 命令的 -a 和 

    本文介绍了如何使用Node.js实现一个简单的命令行工具,模仿常用的ls命令,包括其-a和-l参数的功能,文章详细讲解了命令行参数的解析、文件类型的判断、权限信息的处理、文件链接数和修改时间的格式化等步骤,并提供了完整的代码实现
    2024-11-11
  • PostgreSQL Node.js实现函数计算方法示例

    PostgreSQL Node.js实现函数计算方法示例

    这篇文章主要给大家介绍了关于PostgreSQL Node.js实现函数计算的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-02-02
  • Nodejs实现爬虫抓取数据实例解析

    Nodejs实现爬虫抓取数据实例解析

    这篇文章主要介绍了Nodejs实现爬虫抓取数据实例解析,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友参考下吧
    2018-07-07
  • 利用Chrome DevTools直接调试Node.js和JavaScript的方法详解(并行)

    利用Chrome DevTools直接调试Node.js和JavaScript的方法详解(并行)

    现在我们可以用浏览器调试node.js了!!!下面这篇文章主要介绍了利用Chrome DevTools直接调试Node.js和JavaScript的方法步骤,文中介绍的很详细,需要的朋友可以参考学习,下面来一起看看吧。
    2017-02-02
  • 剖析Node.js异步编程中的回调与代码设计模式

    剖析Node.js异步编程中的回调与代码设计模式

    这篇文章主要介绍了Node.js异步编程中的回调与代码设计模式,虽然大多数场合回调编写时的长串括号不怎么好看,但Node的异步性能确实很好,需要的朋友可以参考下
    2016-02-02
  • Node.js中的流(Stream)介绍

    Node.js中的流(Stream)介绍

    这篇文章主要介绍了Node.js中的流(Stream)介绍,本文讲解了什么是流、pipe方法、流的分类、Readable流状态的切换等内容,需要的朋友可以参考下
    2015-03-03
  • Mac 安装 nodejs方法(图文详细步骤)

    Mac 安装 nodejs方法(图文详细步骤)

    这篇文章主要介绍了Mac 安装 nodejs方法(图文详细步骤),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10

最新评论