官方解释
- __dirname:当前模块的目录名。 相当于
__filename
的path.dirname()
。- __filename: 当前模块的文件名。
- process.cwd() :返回 Node.js 进程的当前工作目录。
换成易懂的:
__dirname得到的是被执行的文件所在目录的绝对路径——文件所在目录。
__filename得到是被执行文件的绝对路径——文件路径。
process.cwd()得到的是在哪个目录执行的文件——工作目录。
process.cwd()
和__dirname
可能相同
在文件所在目录运行test.js,结果如下图:
从图中可以看到
process.cwd()
和__dirname
的结果是一模一样的。那它俩到底有啥区别,我们换个目录来运行test.js,比如我们桌面来运行test.js;运行结果如下图:
此时可以看到
process.cwd()
和__dirname
打印的是有区别的