Cómo utilizar __dirname en Node.js

Introducción

Índice
  1. Introducción
  • Prerrequisitos
  • Paso 1: Configuración del proyecto
  • Paso 2 — Uso__dirname
  • Paso 3: Trabajar con directorios
    1. Creando nuevos directorios
    2. Apuntando a directorios
    3. Agregar archivos a un directorio
  • Conclusión
  • __dirnamees una variable de entorno que le indica la ruta absoluta del directorio que contiene el archivo que se está ejecutando actualmente.

    En este artículo, explorará cómo implementarlo __dirnameen su proyecto Node.js.

    Implemente sus aplicaciones Node desde GitHub con la plataforma de aplicaciones DigitalOcean . Deje que DigitalOcean se concentre en escalar su aplicación.

    Prerrequisitos

    Para completar este tutorial, necesitarás:

    • Conocimientos generales sobre Node.js. Para obtener más información sobre Node.js, consulta nuestra serie Cómo codificar en Node.js.

    Este tutorial fue verificado con Node.js v17.2.0 y npmv8.2.0.

    Paso 1: Configuración del proyecto

    Este tutorial utilizará la siguiente estructura de directorio de muestra para explorar cómo __dirnamefunciona:

    dirname-example  ├──index.js  ├──public  ├──src  │  ├──helpers.js  │  └──api  │      └──controller.js  ├──cronjobs  │  └──hello.js  └──package.json

    Puedes comenzar creando un dirname-exampledirectorio en tu terminal:

    1. mkdir dirname-example

    Vaya al directorio del proyecto:

    1. cd dirname-example

    Inicialícelo como un proyecto Node.js:

    1. npm init --yes

    Ahora, crearás los directorios y archivos con los que experimentarás.

    Paso 2 — Uso__dirname

    Puede utilizarlo __dirnamepara comprobar en qué directorios se encuentran sus archivos.

    Crear y editar controller.jsen el apisubdirectorio del srcdirectorio:

    fuente/api/controller.js

    console.log(__dirname)      // "/Users/Sam/dirname-example/src/api"console.log(process.cwd())  // "/Users/Sam/dirname-example"

    Luego, ejecute el script:

    1. node src/api/controller.js

    Crear y editar hello.jsen el cronjobsdirectorio:

    trabajos cron/hola.js

    console.log(__dirname)     // "/Users/Sam/dirname-example/cronjobs"console.log(process.cwd()) // "/Users/Sam/dirname-example"

    Luego, ejecute el script:

    1. node cronjobs/hello.js

    Tenga en cuenta que __dirnametiene un valor diferente según el archivo que extraiga mediante la consola. El process.cwd()método también devuelve un valor, pero en su lugar devuelve el directorio del proyecto. La __dirnamevariable siempre devuelve la ruta absoluta de donde se encuentran sus archivos.

    Paso 3: Trabajar con directorios

    En esta sección, explorará cómo usar __dirnamepara crear nuevos directorios, señalarlos y agregar nuevos archivos.

    Creando nuevos directorios

    Para crear un nuevo directorio en su index.jsarchivo, inserte __dirnamecomo primer argumento path.join()y el nombre del nuevo directorio como segundo:

    índice.js

    const fs = require('fs');const path = require('path');const dirPath = path.join(__dirname, '/pictures');fs.mkdirSync(dirPath);

    Ahora ha creado un nuevo directorio, picturesdespués de llamar al mdirSync()método, que contiene __dirnamecomo ruta absoluta.

    Apuntando a directorios

    Otra característica única es su capacidad de señalar directorios. En su index.jsarchivo, declare una variable y pase el valor de __dirnamecomo primer argumento en path.join(), y su directorio que contiene archivos estáticos como segundo:

    índice.js

    express.static(path.join(__dirname, '/public'));

    Aquí, le estás indicando a Node.js que use __dirnamepara apuntar al publicdirectorio que contiene archivos estáticos.

    Agregar archivos a un directorio

    También puede agregar archivos a un directorio existente. En su index.jsarchivo, declare una variable e incluya __dirnamecomo primer argumento y el archivo que desea agregar como segundo:

    índice.js

    const fs = require('fs');const path = require('path');const filePath = path.join(__dirname, '/pictures');fs.openSync(filePath, 'hello.jpeg');

    Al usar este openSync()método se agregará el archivo si no existe dentro de su directorio.

    Conclusión

    Node.js ofrece una forma de crear y señalar directorios, y de agregar archivos a directorios existentes con una variable de entorno modular.

    Para obtener más información, consulte la documentación de Node.js para__dirname y el tutorial sobre el uso __dirnameen el marco Express.js .

    SUSCRÍBETE A NUESTRO BOLETÍN 
    No te pierdas de nuestro contenido ni de ninguna de nuestras guías para que puedas avanzar en los juegos que más te gustan.

    Deja una respuesta

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

    Subir

    Este sitio web utiliza cookies para mejorar tu experiencia mientras navegas por él. Este sitio web utiliza cookies para mejorar tu experiencia de usuario. Al continuar navegando, aceptas su uso. Mas informacion