Какая функция в 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()
→ Ссылка