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

问题描述 投票:3回答:2

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

/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

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

$ mkdir test
$ cd test
test$ mkdir a
test$ ln -s a b
test$ cd b
b$ node
> process.cwd()
'/test/a'
javascript node.js
2个回答
4
投票

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

Windows看起来没有这个问题。


0
投票
let { execSync } = require('child_process');

execSync('pwd').toString()

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

© www.soinside.com 2019 - 2024. All rights reserved.