__dirname和__filename和process.cwd()三者的区别

官方解释
  • __dirname:当前模块的目录名。 相当于 __filenamepath.dirname()
  • __filename: 当前模块的文件名。
  • process.cwd() :返回 Node.js 进程的当前工作目录。

换成易懂的:
__dirname得到的是被执行的文件所在目录的绝对路径——文件所在目录。
__filename得到是被执行文件的绝对路径——文件路径。
process.cwd()得到的是在哪个目录执行的文件——工作目录。

process.cwd()__dirname可能相同

在文件所在目录运行test.js,结果如下图:

test.js运行结果

从图中可以看到process.cwd()__dirname的结果是一模一样的。那它俩到底有啥区别,我们换个目录来运行test.js,比如我们桌面来运行test.js;运行结果如下图:

在Desktop目录运行test.js的结果

此时可以看到process.cwd()__dirname打印的是有区别的

你可能感兴趣的:(__dirname和__filename和process.cwd()三者的区别)