Какая функция в nodejs может определить папку в замен устаревшей isDirectory()?
На попытку определить является ли переданный путь папкой if (await fs.stat(path).isDirectory()) { path += '/index.html'; } нода выдаёт ошибку: TypeError: fs.stat(...).isDirectory is not a function
Ответы (1 шт):
Автор решения: Grundy
→ Ссылка
Функция isDirectory не является устаревшей.
В данном случае происходит некорректное использование метода stat.
Если предположить, что используется версия fsPromises.
Данный метод возвращает Promise, который надо дождаться с помощью await. В данном случае
await fs.stat(path).isDirectory()
await применяется ко всему выражению fs.stat(path).isDirectory(), следовательно isDirectory вызывается у Promise. Такой метод отсутствует, поэтому и происходит ошибка.
Для исправления достаточно расставить скобки:
(await fs.stat(path)).isDirectory()