Node.js: проверьте, является ли файл символической ссылкой при переборе каталога с помощью «fs»

Supervisor — это пакет для Node.js, который отслеживает изменения файлов в каталоге вашего приложения и перезагружает приложение при изменении.

Этот сценарий интерпретирует символические ссылки как обычные файлы и выводит предупреждение. Я хотел бы разветвить Supervisor, чтобы либо это можно было полностью исправить, либо чтобы было создано более описательное предупреждение.

Как я могу использовать модуль файловой системы Node.js, чтобы определить, действительно ли данный файл является символической ссылкой?


person james_womack    schedule 01.07.2012    source источник


Ответы (2)


Вы можете использовать fs.lstat, а затем вызвать statis.isSymbolicLink() в fs.Stats объект, переданный в ваш обратный вызов lstat.

fs.lstat('myfilename', function(err, stats) {
    console.log(stats.isSymbolicLink());
});
person JohnnyHK    schedule 02.07.2012

Похоже, вы можете использовать isSymbolicLink()

const files = fs.readdirSync(dir, {encoding: 'utf8', withFileTypes: true});
files.forEach((file) => {
  if (file.isSymbolicLink()) {
    console.log('found symlink!');
  }
}
person Boris Yakubchik    schedule 18.08.2019