Node.js确定符号链接的目标路径

Node.js确定符号链接的目标路径,node.js,symlink-traversal,Node.js,Symlink Traversal,注意:使用Node.js 8 我有一系列符号链接:a->b->c 我需要将初始符号链接a解析为其目标b。如何在Node.js中实现这一点 fs.realpath函数解析符号链,因此它将a解析为c。这不是期望的行为 我还试图找到一个npm包来实现这一点,但到目前为止没有任何运气 我想也许我可以打开fs.符号链接并阅读内容,但我不知道如何访问记录在案的fs.constants.O_symlink常量,可能是因为我在节点8上。我在Node.js文档中搜索了“符号链接”一词,但节点文档只是将它们称为“链

注意:使用Node.js 8

我有一系列符号链接:
a
->
b
->
c

我需要将初始符号链接
a
解析为其目标
b
。如何在Node.js中实现这一点

fs.realpath
函数解析符号链,因此它将
a
解析为
c
。这不是期望的行为

我还试图找到一个
npm
包来实现这一点,但到目前为止没有任何运气


我想也许我可以打开fs.符号链接并阅读内容,但我不知道如何访问记录在案的fs.constants.O_symlink常量,可能是因为我在节点8上。

我在Node.js文档中搜索了“符号链接”一词,但节点文档只是将它们称为“链接”。解决方案是使用:


文档还列出了
fs.constants.O_SYMLINK
。有什么需要弄清楚的?如果您在REPL中键入它,它不会给您一个数值吗?否,
fs.constants.O_SYMLINK
未定义。什么是
node-v
输出?
node-v
输出
v8.10.0
const {readlink} = require("fs");

fs.readlink("a", (err, target) => {
    if (!err) console.log(target);    // prints "b"
});