#javascript #node.js #filesystems
#javascript #node.js #файловые системы
Вопрос:
В настоящее время я пытаюсь узнать, как lchown nodejs изменяет UID и GUID, если указанный путь является символической ссылкой. Проблема в том, что я абсолютно сбит с толку, поскольку, похоже, он вызывает сам себя в строке кода ниже:
binding.lchown(pathModule.toNamespacedPath(path), uid, gid, req);
Ссылка на внутренний код:
https://github.com/nodejs/node/blob/10eaf6a09feee78275d5c1f84ce46815d8a8772f/lib/fs.js#L1084
Ответ №1:
Он не вызывает сам себя. Это вызов binding.lchown
.
Я ничего не знаю о Node.js внутренности, но, судя по внешнему виду кода, кажется очевидным, что binding
это ссылка на какой-то внутренний модуль, возможно, написанный на C или C :
const binding = internalBinding('fs');
Комментарии:
1. Я понимаю! Большое спасибо.
2. Есть ли изящный трюк, чтобы увидеть содержимое внутреннего модуля?
3. Как я уже писал, я ничего не знаю о Node.js внутренности, я не знаю C , и я не знаю C, так что я совершенно не тот человек, которого следует спрашивать. Я мог только искать и догадываться, так же, как и вы, например github.com/nodejs/node/search ? q=lchown filename:fs .*
4. Не беспокойтесь. Очень благодарен за помощь.