Ситуация
Я просто наткнулся на странную ситуацию, которая не должна случаться часто, но я бы хотел предотвратить ее повторение.
У меня есть кусок кода, который создаеткаталог глубоких погружений всех файлов в исходной папке и всех ее дочерних папках.
В общем, это никогда не было проблемой, до сегодняшнего дня.
У меня был один случайный разработчик, который случайноустановите символическую ссылку на вложенную папку, чтобы она указывала на родительскую папку.Это заставило мое глубокое погружение откатываться до тех пор, пока оно не рухнуло.
Например:
topfolder
topfolder/sub1 - real folder
topfolder/sub2 - symlink back to topfolder
Мой код читает все файлы в topfolder
, а затем все файлы в topfolder/sub1
без проблем,Затем, поскольку topfolder/sub2
указывает на topfolder
, я прочитал все файлы в topfolder/sub2
, которые такие же, как в topfolder
, а затем topfolder/sub2/sub1
, затем topfolder/sub2/sub2
и далее в topfolder/sub2/sub2/sub2
и т. Д.
Мой вопрос
Есть ли способ в node.js определить назначение символической ссылки?Я полагаю, что если мне удастся создать список папок, которые я прочитал, и при запуске по символической ссылке выше я определю, что местом назначения действительно является папка, которую я уже прочитал, тогда я просто пропускаю эту папку.
Спасибо зазаранее ...