Node.js确定symlink定位的路径

时间:2018-09-06 23:16:06

标签: node.js symlink-traversal

注意:使用Node.js 8

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

我需要将初始符号链接a解析为其目标目的地b。如何在Node.js中完成?

fs.realpath函数解析符号链接链,因此将a解析为c。这不是理想的行为。

我也试图找到一个npm软件包来做到这一点,但是到目前为止还没有任何运气。

我以为也许我可以fs.open进行符号链接并读取内容,但是我无法弄清楚如何访问记录的fs.constants.O_SYMLINK常量,可能是因为我在Node 8上。

1 个答案:

答案 0 :(得分:3)

我在Node.js文档中搜索了“ symlink”一词,但是Node文档只是将它们称为“链接”。解决方案是使用fs.readlink()

const {readlink} = require("fs");

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