Node.js определяет путь, на который указывает символическая ссылка - PullRequest
0 голосов
/ 07 сентября 2018

Примечание: использование Node.js 8

У меня есть серия символических ссылок: a -> b -> c

Мне нужно разрешить исходную символическую ссылку a до ее целевого назначения b. Как это можно сделать в Node.js?

Функция fs.realpath разрешает цепочки символических ссылок, поэтому она разрешает a в c. Это не желаемое поведение.

Я также пытался найти пакет npm, чтобы сделать это, но пока мне не повезло.

Я подумал, что, возможно, смогу fs.open символическую ссылку и прочитать содержимое, но я не мог понять, как получить доступ к документированной константе fs.constants.O_SYMLINK, вероятно, потому что я на Узле 8.

1 Ответ

0 голосов
/ 07 сентября 2018

Я искал в документации Node.js слово «symlink», но в документации Node они называются «ссылками». Решением является использование fs.readlink():

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

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