В файле index.js директории 03-files-in-folder напишите скрипт выводящий в консоль данные о файлах содержащихся в папке secret-folder.
- При выполнении команды
node 03-files-in-folder
в корневом каталоге репозитория в консоль выводится информация о файлах содержащихся непосредственно внутри 03-files-in-folder/secret-folder. Данные должны быть выведены в формате <имя файла>-<расширение файла>-<вес файла>. Пример:example - txt - 128.369kb
(округлять не нужно, конвертация в кб по желанию!) - Информация должна выводиться только для файлов содержащихся в 03-files-in-folder/secret-folder. Наличие информации о директориях считается ошибкой.
- Научиться получать информацию о файлах.
Порядок действий для выполнения задачи:
- Импорт всех требуемых модулей
- Чтение содержимого папки secret-folder
- Получение данных о каждом объекте который содержит папка secret-folder
- Проверка объекта на то, что он является файлом
- Вывод данных о файле в консоль
Ознакомьтесь с данной статьёй для того, чтобы восполнить возможные пробелы в понимании работы git и избавиться от вопроса о чтении файлов в подпапках.
Для того, чтобы прочесть содержимое папки, используйте функцию readdir
из модуля "fs/promises"(ссылка на документацию). Данная функция позволит вам получить имена всех файлов находящихся в заданной директории.
После прочтения содержимого папки, в случае если вы установите опцию {withFileTypes: true}
, каждый объект содержащийся в ней будет представлен в виде инстанса класса Dirent. Его методы позволят вам узнать, является ли объект файлом.
Для определения расширения файла вы можете использовать метод extname
модуля "path". Документация
Получить информацию о файле поможет stat. Полный перечень данных которые возвращает данная функция вы можете увидеть в документации. Обратите внимание, что возвращаемый данной функцией объект является инстансом класса Stats, который так же имеет методы позволяющие проверить является ли объект файлом.
Обратите внимание, что переводы документации на русский язык могут быть устаревшими и не содержать всех современных возможностей модулей. Однако, основные концепции описанные там работают и по сей день. Для получения актуальной информации всегда используйте официальную документацию!