【问题标题】:Node.js determine path targeted by symlinkNode.js 确定符号链接的目标路径
【发布时间】:2019-02-12 06:10:20
【问题描述】:

注意:使用 Node.js 8

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

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

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

我也试图找到一个 npm 包来执行此操作,但到目前为止还没有任何运气。

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

【问题讨论】:

  • Node 8 文档还列出了fs.constants.O_SYMLINK。有什么要弄清楚的?如果你在 REPL 中输入它,它不会给你一个数值吗?
  • 不,fs.constants.O_SYMLINK 未定义。
  • node -v 输出什么?
  • node -v 输出v8.10.0

标签: node.js symlink-traversal


【解决方案1】:

我在 Node.js 文档中搜索“符号链接”一词,但 Node 文档仅将这些称为“链接”。解决方法是使用fs.readlink():

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-17
    • 2015-07-18
    • 1970-01-01
    • 2011-11-08
    • 2011-08-26
    • 2015-06-10
    • 2014-11-07
    • 1970-01-01
    相关资源
    最近更新 更多