El método fs.rm() se usa para eliminar un archivo en la ruta dada. También se puede utilizar de forma recursiva para eliminar directorios.
Sintaxis:
fs.rm( path, options, callback );
Parámetros: este método acepta tres parámetros, como se mencionó anteriormente y se describe a continuación:
- ruta: contiene la ruta del archivo que se debe eliminar. Puede ser una string, un búfer o una URL.
- opciones: Es un objeto que se puede usar para especificar parámetros opcionales que afectarán la operación de la siguiente manera:
- force: Es un valor booleano. Las excepciones se ignorarán si la ruta no existe.
- recursivo: Es un valor booleano que especifica si se realiza la eliminación recursiva del directorio. En este modo, los errores no se informan si no se encuentra la ruta especificada y la operación se vuelve a intentar si falla. El valor predeterminado es falso.
- callback: Es la función que sería llamada cuando se ejecuta el método.
- err: Es un error que se lanzaría si falla la operación.
Los siguientes ejemplos ilustran el método fs.rm() en Node.js:
Ejemplo 1: este ejemplo utiliza el método fs.rm() para eliminar un archivo.
Nombre de archivo: index.js
Javascript
// Import necessary modules let fs = require('fs'); // List files before deleting getCurrentFilenames(); 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 directory function getCurrentFilenames() { console.log("\nCurrent filenames:"); fs.readdirSync(__dirname).forEach(file => { console.log(file); }); console.log(""); }
Ejecute el archivo index.js con el siguiente comando:
node index.js
Producción:
Current filenames: dummy.txt index.js node_modules package-lock.json package.json File deleted successfully Current filenames: index.js node_modules package-lock.json package.json
Ejemplo 2: este ejemplo usa el método fs.rm() con el parámetro recursivo para eliminar directorios.
Nombre de archivo: index.js
Javascript
// Import the filesystem module const fs = require('fs'); // List the files in current directory getCurrentFilenames(); // Trying to delete directory without the recursive parameter fs.rm("./build", { recursive: false }, (err) => { if (err) { console.error(err); } else { console.log("Non Recursive: Directory Deleted!"); } }); // Using the recursive option to delete directory fs.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 directory function getCurrentFilenames() { console.log("\nCurrent filenames:"); fs.readdirSync(__dirname).forEach(file => { console.log(file); }); console.log("\n"); }
Ejecute el archivo index.js con el siguiente comando:
node index.js
Producción:
Current filenames: build index.js node_modules package-lock.json package.json SystemError [ERR_FS_EISDIR]: Path is a directory: rm returned EISDIR (is a directory) ./build at internal/fs/utils.js:688:23 at FSReqCallback.oncomplete (fs.js:184:5) { code: 'ERR_FS_EISDIR', info: { code: 'EISDIR', message: 'is a directory', path: './build', syscall: 'rm', errno: 21 }, errno: [Getter/Setter: 21], syscall: [Getter/Setter: 'rm'], path: [Getter/Setter: './build'] } Recursive: Directory Deleted! Current filenames: index.js node_modules package-lock.json package.json
Referencia: https://nodejs.org/api/fs.html#fs_fs_rm_path_options_callback
Publicación traducida automáticamente
Artículo escrito por pratikraut0000 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA