__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打印的是有区别的

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。