¿Cómo crear un directorio usando Node.js?

En este artículo, crearemos un directorio usando NodeJS.

NodeJS tiene el módulo central Filesystem(fs) , que permite interactuar con el sistema de archivos, tiene el método Node.js fs.mkdir() o el método Node.js fs.mkdirSync() , para crear un nuevo directorio/directorio principal.

Método Node.js fs.mkdir() : Vamos a crear un nuevo directorio usando el método fs.mkdir() . Inicialmente, tenemos un solo archivo index.js, como podemos ver en la imagen dada.

índice.js

Ejemplo: edite el archivo index.js.

Javascript

const fs = require("fs");
  
const path = "./new-Directory";
  
fs.access(path, (error) => {
   
  // To check if the given directory 
  // already exists or not
  if (error) {
    // If current directory does not exist
    // then create it
    fs.mkdir(path, (error) => {
      if (error) {
        console.log(error);
      } else {
        console.log("New Directory created successfully !!");
      }
    });
  } else {
    console.log("Given Directory already exists !!");
  }
});

Producción:

  • Puede comprobar la salida del terminal.

  • Después de ejecutar el código anterior, node.js creará un nuevo directorio si no existe. Se crea un nuevo directorio denominado — “ nuevo-Directorio ”.

Creación de directorios principales: si queremos crear un directorio multinivel, fs.mkdir() tiene un valor booleano recursivo opcional que podemos pasar como parámetro. 

Javascript

const fs = require("fs");
  
// Multilevel directory
const path = "./directory1/directory2/new-directory";
  
fs.access(path, (error) => {
  
  // To check if given directory 
  // already exists or not
  if (error) {
    // If current directory does not exist then create it
    fs.mkdir(path, { recursive: true }, (error) => {
      if (error) {
        console.log(error);
      } else {
        console.log("New Directory created successfully !!");
      }
    });
  } else {
    console.log("Given Directory already exists !!");
  }
});

Producción:

  • Nuevo directorio creado con éxito.

    índice.js

  • Podemos ver que se crea un directorio multinivel “ directorio1\directorio2\nuevo-directorio ”.

    índice.js

Eliminar una carpeta: si queremos eliminar un directorio determinado, podemos usar el método Node.js fs.rmdir() o el método Node.js fs.rmdirSync() , se complicará si el directorio contiene algún archivo.

Entonces, podemos usar un paquete de terceros fs-extra proporcionado por npm para eliminar el directorio dado. Instalemos el paquete dado usando npm .

Ejecute el siguiente comando en su línea de comando

npm install fs-extra

Ejemplo: ahora ejecute el siguiente código para eliminar el directorio dado

Javascript

const fs1 = require("fs-extra");
  
const path = "./directory1";
  
fs1.remove(path, (error) => {
  if (error) {
    console.log(error);
  } else {
    console.log("Folder Deleted Successfully !!");
  }
});

Producción

índice.js

Método Node.js fs.mkdirSync(): Vamos a crear un nuevo directorio usando el método fs.mkdirSync(). Inicialmente, tenemos un solo archivo index.js, como podemos ver en la imagen dada.

Ejemplo:

Javascript

const fs1 = require("fs-extra");
  
// Node.js program to demonstrate the
// fs.mkdirSync() method
  
const fs = require("fs");
  
const path = require("path");
  
// Using fs.exists() method to
// Check that the directory exists or not
console.log("Checking for directory" + path.join(__dirname, "Tisu"));
fs.exists(path.join(__dirname, "Tisu"), (exists) => {
  console.log(exists ? "The directory already exists" : "Not found!");
});
  
// Using fs.mkdirSync() method
// To create the directory recursively
fs.mkdirSync(path.join(__dirname, "Tisu"), true);
  
// Using fs.exists() method to
// Check that the directory exists or not
fs.exists(path.join(__dirname, "Tisu"), (exists) => {
  console.log(exists ? "The directory already exists" : "Not found!");
});

Producción:

Publicación traducida automáticamente

Artículo escrito por AStream26 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *