NodeJS中process.cwd & _ _dirname的区别
NodeJS是一个JavaScript运行时环境,它建立在Chrome的V8引擎之上。JavaScript的传统用途是在浏览器中执行,但Node.JS我们可以在浏览器之外的服务器、硬件设备等中执行JavaScript。
process.cwd()
进程对象位于称为“全局”的全局对象之下。此方法提供有关Node.js当前进程的信息。它还提供对其的控制。cwd指的是相同的当前工作目录。因此,process.cwd返回当前正在执行的工作目录。
__目录名
这是一个本地模块,将返回当前模块的目录名称。此外,它是一个本地模块
process.cwd()与__dirname
示例1(index.js)
//记录process.cwd()输出 console.log("process.cwd(): ", process.cwd()); //记录__dirname输出 console.log("__dirname: ", __dirname);
输出
C:\Users\nhooo\> node index.js.js process.cwd(): /home/node/demo __dirname: /home/node/demo
示例2
使用以下文件夹结构创建以下文件
-- src/ --index.js --src2/ --index2.js
代码片段(index.js)-
//读取并执行index2.js文件 require('./sub1/index2.js')
代码片段(index2.js)-
//记录process.cwd()输出 console.log("process.cwd(): ", process.cwd()); //记录__dirname输出 console.log("__dirname: ", __dirname);
index2.js使用以下命令运行该文件。
node index2.js
输出
process cwd: C:\src __dirname: C:\src\src2
上面的输出显示文件的目录index2.js在src/src2而当前节点进程在src/文件夹中运行。