📅  最后修改于: 2023-12-03 14:44:41.816000             🧑  作者: Mango
在 Node.js 中,有时需要获取当前执行文件的路径,这时我们通常会使用 process.cwd() 和 __dirname 这两个方法。虽然这两个方法看起来很相似,但它们实际上有着不同的用途和作用域。
process.cwd() 方法用于获取当前工作目录的路径。它返回的是一个字符串类型的路径,表示 Node.js 进程当前的工作目录。
console.log(process.cwd()); // 输出当前工作目录的路径
这个方法是相对于 Node.js 进程所在的系统,而不是相对于当前执行文件的路径。
__dirname 是 Node.js 中的一个全局变量,它用于获取当前执行文件所在目录的路径。它返回的也是一个字符串类型的路径。
console.log(__dirname); // 输出当前执行文件的目录路径
与 process.cwd() 不同的是,__dirname 方法返回的是相对于当前执行文件的路径,它不受 Node.js 进程的影响,在不同的文件中执行时,返回的结果也是不同的。
// 在 index.js 文件中执行
console.log(__dirname); // 输出当前 index.js 文件所在目录的路径
// 在 test.js 文件中执行
console.log(__dirname); // 输出当前 test.js 文件所在目录的路径
总之,process.cwd() 和 __dirname 都是用于获取当前路径的方法,但它们的用途和作用域是不同的。在实际开发中,需要根据具体的需求来选择合适的方法。