__dirname 和 process.cwd() 的区别

175 阅读1分钟
  • __dirname 当前文件所在的绝对路径
  • process.cwd() 当前项目执行位置的绝对路径

image.png

const path = __dirname;
module.exports = path;
const path = require('./child/index');

console.log({
  process: process.cwd(), // 当前代码运行所在地址的绝对路径
  current: __dirname, // 当前文件所在的绝对路径
  path // 子目录所在文件的绝对路径
});
# process1
/Users/workspace % node ./test/main.js
{
  process: '/Users/workspace',
  current: '/Users/workspace/test',
  path: '/Users/workspace/test/child'
}

# process2
/Users/workspace/test % node ./main.js
{
  process: '/Users/workspace/test',
  current: '/Users/workspace/test',
  path: '/Users/workspace/test/child'
}