Node.js: проверьте, является ли файл символической ссылкой при переборе директории с помощью 'fs'
Supervisor - это пакет для Node.js, который отслеживает файлы в каталоге приложения на наличие изменений и перезагружает приложение в случае их изменения.
Этот скрипт интерпретирует символические ссылки как обычные файлы и выводит предупреждение. Я хотел бы раскошелиться на Supervisor, чтобы либо это можно было исправить полностью, либо чтобы было сделано более описательное предупреждение.
Как я могу использовать модуль Файловая система Node.js, чтобы определить, является ли данный файл действительно символической ссылкой?
1 ответ
Решение
Ты можешь использовать fs.lstat
а затем позвоните statis.isSymbolicLink()
на fs.Stats
объект, который передается в ваш обратный вызов lstat.
fs.lstat('myfilename', function(err, stats) {
console.log(stats.isSymbolicLink());
});
Похоже, вы можете использовать isSymbolicLink()
const files = fs.readdirSync(dir, {encoding: 'utf8', withFileTypes: true});
files.forEach((file) => {
if (file.isSymbolicLink()) {
console.log('found symlink!');
}
}