Метод rm
Метод rm удаляет файлы и папки
по указанному в первом параметре пути.
Во втором необязательном параметре задаем
опции в виде объекта.
В третьем необязательном параметре
указываем коллбэк.
Синтаксис
fs.rm(путь к файлу или папке, [опции], [коллбэк]);
Объект с опциями
| Опция | Описание |
|---|---|
force |
Если заданный путь не существует, то исключения
игнорируются. Значение по умолчанию
false.
|
recursive |
Если true, удаляет папку рекурсивно,
то есть со всем содержимым. Значение по умолчанию
false.
|
retryDelay |
При ошибках EBUSY |
maxRetries |
Данная опция задает количество
повторов операции при ошибках EBUSY |
Пример
Пусть у нас есть следующая файловая структура:
- /dir1/
- file1.txt
- file2.txt
- /dir2/
Давайте асинхронно удалим
файл file1 через
await:
import fs from 'fs/promises';
try {
await fs.rm('./dir1/file1.txt');
console.log('file deleted');
} catch (err) {
console.log(err);
}
Пример
Теперь давайте асинхронно удалим
файл file2 через
then:
import fs from 'fs/promises';
fs.rm('./dir1/file2.txt').then(() => {
console.log('file deleted');
}).catch((err) => {
console.log(err);
});
Пример
При удалении папки с содержимым необходимо
указать в опциях параметр
recursive в значении
true. Давайте асинхронно удалим
папку dir1 через коллбэк:
import fs from 'fs';
fs.rm('./dir1/', { recursive: true }, err => {
if (!err) {
console.log('folder deleted');
} else {
console.log(err);
}
});
Пример
Теперь давайте синхронно удалим
папку dir2 через
rmSync:
import fs from 'fs';
try {
fs.rmSync('./dir2/', { recursive: true });
console.log('directory deleted');
} catch (err) {
console.log(err);
}