process.cwd()和__dirname有什么区别?

node.js Node.js

古一Mandy

2020-03-19

之间有什么区别

console.log(process.cwd())

console.log(__dirname);

我已经看到两者都用在相似的上下文中。

第2282篇《process.cwd()和__dirname有什么区别?》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

3个回答
神无达蒙JinJin 2020.03.19

了解每个范围可以使事情更容易记住。

processnode的全局对象,并.cwd()返回运行节点的位置。

__dirnamemodule的属性,代表模块的文件路径。在节点中,一个模块驻留在一个文件中。

同样,__filename是another module的属性,其中包含模块的文件名。

乐米亚 2020.03.19

$ find proj

proj
proj/src
proj/src/index.js

$ cat proj/src/index.js

console.log("process.cwd() = " + process.cwd());
console.log("__dirname = " + __dirname);

$ cd proj; node src/index.js

process.cwd() = /tmp/proj
__dirname = /tmp/proj/src
Harry古一 2020.03.19

process.cwd() 返回当前工作目录,

即您从中调用node命令的目录

__dirname 返回包含JavaScript源代码文件的目录的目录名称

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android