You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js:如何以跨平台方式获取当前工作目录(CWD)

Node.js 跨平台获取当前工作目录

在Node.js中,跨平台获取当前工作目录无需额外依赖,直接用内置API就能实现:

方法1:process.cwd()(获取进程当前工作目录)

这是最常用的方案,process.cwd() 会返回Node.js进程当前的工作目录,完全兼容Windows、Linux、macOS等所有平台。

示例代码:

const currentWorkingDir = process.cwd();
console.log('当前工作目录:', currentWorkingDir);

方法2:__dirname(获取当前模块文件所在目录)

如果需要的是当前执行的模块文件所在的物理目录(而非进程工作目录),可以用__dirname。注意这是CommonJS模块的内置变量,ES模块需要用以下方式替代:

CommonJS示例

console.log('当前模块所在目录:', __dirname);

ES模块替代方案

import { fileURLToPath } from 'url';
import { dirname } from 'path';

const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
console.log('当前模块所在目录:', __dirname);

两者关键区别

  • process.cwd():返回进程启动时的工作目录,若进程运行中通过process.chdir()切换目录,它的值会同步变化。
  • __dirname:返回当前模块文件的物理目录,不受进程工作目录变更的影响。

内容的提问来源于stack exchange,提问作者jebarpg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 11:03:16