Создание папки
Для создания папок в NodeJS используется метод mkdir. В его первый аргумент передаётся название папки (относительный или абсолютный путь к ней), которую нужно создать. Второй параметр опционален и не работает в Windows. В нём можно записать права доступа на эту папку (числа). А в третьем параметре находится callback функция, которая возвращает ошибку. Приведём пример:let fs = require('fs');
fs.mkdir('new_folder', err => {
if(err) throw err; // не удалось создать папку
console.log('Папка успешно создана');
});
Если нужно создать последовательность вложенных папок (рекурсивное создание), то можно вторым параметром передать значение "recursive" равное "true":
let fs = require('fs');
fs.mkdir('new_folder/sub_folder', { recursive: true }, err => {
if(err) throw err; // не удалось создать папки
console.log('Все папки успешно созданы');
});
Метод "mkdir" работает асинхронно. Для синхронного выполнения используйте метод "mkdirSync".
Удаление папки
С помощью метода "rmdir" можно удалить папку. Первым параметром в неё передаётся абсолютный или относительный путь к удаляемой папке. Вторым параметром - стрелочная функция для обработки ошибки:let fs = require('fs');
fs.rmdir('new_folder/sub_folder', err => {
if(err) throw err; // не удалось удалить папку
console.log('Папка успешно удалена');
});
Метод "rmdir" работает асинхронно. Для синхронного выполнения используйте метод "rmdirSync".
Выполнение метода "rmdir" вызовет ошибку, если удаляемая папка не является пустой. Для удаления папки с вложенными файлами через "rmdir" необходимо скомбинировать чтение содержимого папки и удаление внутри рекурсивной функции. О рекурсивном обходе всех файлов читайте в статье "Рекурсивный обход файлов в NodeJS".
Чтение папки
Для чтения содержимого папки используется метод "readdir". Первым параметром в него передаётся абсолютный или относительный путь к папке, содержимое которой нужно прочитать. Вторым параметром - стрелочная функция для обработки ошибки и получения имён файлов:let fs = require('fs');
fs.readdir('folder/sub_folder', (err, files) => {
if(err) throw err; // не прочитать содержимое папки
console.log('В папке находятся файлы:' + files);
});
Содержимое переменной "files" представляет собой массив из имён файлов и папок.