node 中的 __dirname 和 path.resolve() 的作用

node 读取文件的默认操作

node 中读取文件的时候,
如果我们写的是相对路径,那么就会使用 【process.cwd() + 相对路径 】的方式转换成绝对路径。
process.cwd() : 就是执行node命令时的那个目录。

作用介绍

变量 __dirname :  在哪个文件中用,就是该文件的所在目录的绝对路径。

变量 __filename : 文件的全路径名称

path模块  : 主要进行处理路径字符串的模块

path.resolve : 拼接路径字符串的方法

案例展示

项目结构

D:\
  | -- xxx 
     | -- study-vite # 项目的目录
         | -- main.js # 测试文件

main.js

// __dirname
console.log("__dirname = ",__dirname)

// __filename
console.log("__filename = ",__filename)

// process.cwd()
console.log("process.cwd() = ",process.cwd())

// 引入path模块
const path = require('path')
console.log('拼接路径 : ',path.resolve(__dirname,"./xxx.js"))

执行结果

方式一 : 直接在 main.js 的目录中执行node命令,获取到正确结果

PS D:\xxx\study-vite> node .\main.js

__dirname =  D:\xxx\study-vite   : main.js 所在的目录
__filename =  D:\xxx\study-vite\main.js  : main.js 的完整文件路径
process.cwd() =  D:\xxx\study-vite  : node命令执行的目录
拼接路径 :  D:\xxx\study-vite\xxx.js  :  路径拼接的路径

方式二 : 在 main.js 的上级目录中执行 node 命令,同样获取到了正确的文件路径

PS D:\xxx> node .\study-vite\main.js

__dirname =  D:\xxx\study-vite   : main.js 所在的目录
__filename =  D:\xxx\study-vite\main.js  : main.js 的完整文件路径
process.cwd() =  D:\xxx  : node命令执行的目录
拼接路径 :  D:\xxx\study-vite\xxx.js  :  路径拼接的路径
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值