You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js模块中./与../路径语法的区别解析

Node.js 模块导入中 ./ 和 ../ 的区别

在Node.js的模块导入场景里,./ 和 ../ 都是相对路径标识,核心逻辑和终端里的含义一致,但要结合当前代码文件的位置来理解:

./ 的作用

  • 代表当前编写代码的文件所在的目录,用来导入和当前文件处于同一目录下的模块。
    比如案例2中的const ob = require("./exportObject");,说明exportObject.js(Node.js会自动补全.js等后缀)和当前执行这条语句的文件在同一个文件夹里。

../ 的作用

  • 代表当前编写代码的文件所在目录的上一级目录,用来导入父目录或父目录下子文件夹里的模块。
    比如案例1里的let arr = require("../country/state/city/index");,假设当前代码文件在project/src/handlers/目录下,那么../会先跳转到project/src/目录,再依次进入country/state/city/文件夹找到index.js;同理../utilities/utils/index是跳转到上一级目录后,进入utilities/utils/文件夹加载index.js。

关键注意点

  • Node.js处理模块相对路径时,是以当前执行require语句的文件所在目录为基准,而不是终端的工作目录——这是和终端cd命令的核心区别,终端是基于你当前打开的工作目录跳转,模块导入完全跟着文件位置走。
  • 相对路径必须以./或../开头,否则Node.js会默认你要导入的是Node.js核心模块(比如require('fs'))或者node_modules里的第三方包。

内容的提问来源于stack exchange,提问作者Avik Biswas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 22:03:20