节点__dirname,process.cwd()报告实际目录而不是符号链接目录

时间:2014-06-09 01:07:00

标签: javascript node.js

“简单”问题 - 我正在尝试获取节点脚本目录的路径,但是当我从符号链接目录运行时,我不断获取物理文件的路径而不是符号链接的路径结构体。如何获取符号链接路径?

/path/to/symlink --> /path/to/real

/path/to/symlink> node echo.js

# echo.js
console.log( __dirname );     // /path/to/real
console.log( process.cwd() ); // /path/to/real

[edit]只是为了澄清我自己的理智:

$ mkdir test
$ cd test
test$ mkdir a
test$ ln -s a b
test$ cd b
b$ node
> process.cwd()
'/test/a'

2 个答案:

答案 0 :(得分:4)

您可以在OSX上通过process.env.PWD获取符号链接路径。

Windows看起来没有这个问题。

答案 1 :(得分:0)

let { execSync } = require('child_process');

execSync('pwd').toString()

将pwd作为子进程运行会返回带有符号链接的当前目录