Diferencia entre process.cwd() y __dirname en Node.js

NodeJS es un tiempo de ejecución de JavaScript que se creó sobre el motor V8 de Chrome. El JavaScript tradicional se ejecuta en los navegadores pero con Node.js podemos ejecutar JavaScript en servidores, dispositivos de hardware, etc.

process.cwd(): similar a los objetos de ventana en los navegadores, Node.js tiene un objeto global llamado global, y el objeto de proceso se encuentra dentro del objeto global. Este objeto de proceso proporciona información y control sobre el proceso actual de Node.js. Proporciona el directorio de trabajo actual del proceso Node.js.

__dirname: Es una variable local que devuelve el nombre del directorio del módulo actual. Eso

La diferencia entre process.cwd() y __dirname en Node.js es la siguiente:

proceso.cwd() _dirname
Devuelve el nombre del directorio de trabajo actual. Devuelve el nombre del directorio del directorio que contiene el archivo de código fuente.
Es el objeto global del Node. Es local para cada módulo.
Depende del comando del Node invocador. Depende del directorio actual.

Ejemplo 1:

index.js

// Logging process.cwd() output
console.log("process.cwd(): ", process.cwd());
  
// Logging __dirname output
console.log("__dirname: ", __dirname);

Ejecute el archivo index.js con el siguiente comando:

node index.js

Producción:

process.cwd(): C:\src
__dirname: C:\src

En este caso, el proceso del Node se está ejecutando en el directorio actual.

Ejemplo 2: Cree los siguientes 2 archivos con la siguiente estructura de carpetas:

src/
___ index.js
___ src2/
    ___index2.js

Ruta del archivo: src/index.js

index.js

// Read and execute the index2.js file 
require('./sub1/index2.js')

Ruta del archivo: src/src2/index2.js

index2.js

// Logging process.cwd() output
console.log("process.cwd(): ", process.cwd());
  
// Logging __dirname output
console.log("__dirname: ", __dirname);

Ejecute el archivo index.js con el siguiente comando:

node index2.js

Producción:

process cwd:  C:\src
__dirname:  C:\src\src2

Esto muestra que el proceso del Node actual se estaba ejecutando en la carpeta src/, es decir, el Node index.js y el directorio del archivo index2.js estaba en src/src2 .

Publicación traducida automáticamente

Artículo escrito por saideepesh000 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 *