Метод rm - удаление файлов и папок на NodeJS
Метод rm
удаляет файлы и папки
по указанному в первом параметре пути.
Во втором необязательном параметре задаем
опции в виде объекта.
В третьем необязательном параметре
указываем коллбэк.
Синтаксис
fs.rm(путь к файлу или папке, [опции], [коллбэк]);
Объект с опциями
Опция | Описание |
---|---|
force |
Если заданный путь не существует, то исключения
игнорируются. Значение по умолчанию
false .
|
recursive |
Если true , удаляет папку рекурсивно,
то есть со всем содержимым. Значение по умолчанию
false .
|
retryDelay |
При ошибках EBUSY |
maxRetries |
Данная опция задает количество
повторов операции при ошибках EBUSY |
Пример
Пусть у нас есть следующая файловая структура:
$structure$>
/dir1/
file1.txt
file2.txt
/dir2/
-structure->
Давайте асинхронно удалим
файл 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);
}