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
文件所在目录的相对路径