Node.js fs.rm () Метод
Опубликовано: 26 Июля, 2021
Метод fs.rm () используется для удаления файла по заданному пути. Его также можно использовать рекурсивно для удаления каталогов.
Синтаксис:
fs.rm (путь, параметры, обратный вызов);
Параметры: этот метод принимает три параметра, как указано выше и описано ниже:
- path: содержит путь к файлу, который необходимо удалить. Это может быть строка, буфер или URL.
- options: это объект, который можно использовать для указания дополнительных параметров, которые будут влиять на операцию следующим образом:
- force: это логическое значение. Если путь не существует, исключения будут игнорироваться.
- рекурсивный: это логическое значение, указывающее, выполняется ли рекурсивное удаление каталога. В этом режиме об ошибках не сообщается, если указанный путь не найден, и операция повторяется в случае сбоя. Значение по умолчанию неверно.
- обратный вызов: это функция, которая будет вызываться при выполнении метода.
- err: это ошибка, которая будет выдана, если операция завершится неудачно.
Примеры ниже иллюстрируют метод fs.rm () в Node.js:
Пример 1. В этом примере для удаления файла используется метод fs.rm ().
Имя файла: index.js
Javascript
// Import necessary moduleslet fs = require( 'fs' ); // List files before deletinggetCurrentFilenames(); fs.rm( './dummy.txt' , { recursive: true }, (err) => { if (err){ // File deletion failed console.error(err.message); return ; } console.log( "File deleted successfully" ); // List files after deleting getCurrentFilenames();}) // This will list all files in current directoryfunction getCurrentFilenames() { console.log( "
Current filenames:" ); fs.readdirSync(__dirname).forEach(file => { console.log(file); }); console.log( "" );} |
Запустите файл index.js, используя следующую команду:
узел index.js
Выход:
Текущие имена файлов: dummy.txt index.js node_modules пакет-lock.json package.json Файл успешно удален Текущие имена файлов: index.js node_modules пакет-lock.json package.json
Пример 2: В этом примере для удаления каталогов используется метод fs.rm () с рекурсивным параметром.
Имя файла: index.js
Javascript
// Import the filesystem moduleconst fs = require( 'fs' ); // List the files in current directorygetCurrentFilenames(); // Trying to delete directory without the recursive parameterfs.rm( "./build" , { recursive: false }, (err) => { if (err) { console.error(err); } else { console.log( "Non Recursive: Directory Deleted!" ); }}); // Using the recursive option to delete directoryfs.rm( "./build" , { recursive: true }, (err) => { if (err) { console.error(err); } else { console.log( "Recursive: Directory Deleted!" ); // List files after delete getCurrentFilenames(); }}); // List all files in current directoryfunction getCurrentFilenames() { console.log( "
Current filenames:" ); fs.readdirSync(__dirname).forEach(file => { console.log(file); }); console.log( "
" );} |
Запустите файл index.js, используя следующую команду:
узел index.js
Выход:
Текущие имена файлов:
строить
index.js
node_modules
пакет-lock.json
package.json
SystemError [ERR_FS_EISDIR]: Путь - это каталог: rm вернул EISDIR
(это каталог) ./build
на внутреннем / fs / utils.js: 688: 23
в FSReqCallback.oncomplete (fs.js: 184: 5) {
код: 'ERR_FS_EISDIR',
Информация: {
код: 'EISDIR',
сообщение: 'это каталог',
путь: './build',
системный вызов: 'rm',
номер ошибки: 21
},
errno: [Getter / Setter: 21],
системный вызов: [Getter / Setter: 'rm'],
путь: [Getter / Setter: './build']
}
Рекурсивно: каталог удален!
Текущие имена файлов:
index.js
node_modules
пакет-lock.json
package.jsonСсылка: https://nodejs.org/api/fs.html#fs_fs_rm_path_options_callback