nodejs的__dirname,__filename,process.cwd()区别

时间:2023-03-08 19:06:09
nodejs的__dirname,__filename,process.cwd()区别

假定我们有这样一个mynode的node项目在User/leinov/porject/文件夹下,cli是一个可执行文件

|-- mynode
|-- bin
|-- cli.js
|-- src
|-- index.js
|-- app.js
|-- index.scss

__dirname

获取当前执行文件所在目录的完整目录名,无论我们在哪里执行(没有npm link的情况下)cli.js,都会返回

$ User/leinov/porject/mynode/bin/

__filename

获得当前执行文件的带有完整绝对路径的文件名

$ User/leinov/porject/mynode/bin/cli.js

process.cwd()

获得当前执行node命令时候的文件夹目录名 ,比如我们在 src 下执行cli命令则返回,可以理解为在哪个文件夹下执行node命令就返回哪个文件夹

$ User/leinov/porject/mynode/src

./ || ../ || xxx

文件所在目录的相对路径