nodejs 获取文件路径_nodejs的各种路径

7215874257feb50e3b16b3b4dea9badb.png
在写Nodejs的过程中,经常会被各种路径所困扰,因为Require的模块机制,对于其底层可能有时并不会太清楚,这篇文章主要就是记录一些常用的目录的查询方法

process.cwd()

取当前工作目录(Current Work Directory),即你项目的目录,这个不同于“脚本所在目录”。如果你是通过命令行调用的,那么就应该是入口脚本的目录;如果是通过其他进程调用的会继承下来。

__dirname

获取当前文件所在的目录

path.resolve path.join

path.join方法用于连接路径。该方法的主要用途在于,会正确使用当前系统的路径分隔符,Unix系统是”/“Windows系统是”“

path.resolve方法用于将相对路径转为绝对路径。
它可以接受多个参数,依次表示所要进入的路径,直到将最后一个参数转为绝对路径。如果根据参数无法得到绝对路径,就以当前所在路径作为基准。除了根目录,该方法的返回值都不带尾部的斜杠。

// 格式
path.resolve([from ...], to)
// 实例
path.resolve('foo/bar', '/tmp/file/', '..', 'a/../subfile')

module.filename

其实,有的时候我们可能需要这样的奇怪的需求
  1. 我是谁(我的文件是什么)
  2. 我从何处来(谁调用的我)

对于这两个问题,上面的方法已经不能解决了,因为上面的方法返回的都是目录路径,但是我要具体到某个文件

这个时候就需要用到module

nodejs的环境中,每个独立的文件都会有属于自己的modulemodule记录了文件的相关的信息,因此对于上面两个问题我们可以分别这么使用:

let myfilename = module.filename; // 获取当前文件的文件名的绝对路径
let patent = module.parent.parent.filename; // 获取调用当前文件的父节点
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值