Módulo path de NodeJS: métodos y ejemplos
(2 min. de lectura) El módulo path de nodeJs es un módulo integrado que facilita el manejo de rutas de archivos de manera compatible con diferentes sistemas operativos, como Windows, macOS y Linux, que utilizan convenciones de rutas distintas. Para usar el módulo path- Primero hay que importarlo con "const path = require('path');" y ya se puede usar con normalidad. El módulo path es especialmente útil para evitar problemas de compatibilidad entre sistemas operativos al trabajar con rutas.Métodos y Propiedades Principales
- path.join: Une varios segmentos de ruta en una sola, utilizando el separador adecuado según el sistema operativo.
const rutaCompleta = path.join('/home', 'usuario', 'docs', 'archivo.txt');
console.log(rutaCompleta);
// Salida (Unix-like): /home/usuario/docs/archivo.txt
// Salida (Windows): \home\usuario\docs\archivo.txt
- path.resolve: Resuelve una secuencia de rutas en una ruta absoluta.
const rutaAbsoluta = path.resolve('docs', 'archivo.txt');
console.log(rutaAbsoluta);
// Salida: /ruta/actual/del/proyecto/docs/archivo.txt
- path.basename: Devuelve el nombre del archivo de una ruta, con la opción de eliminar una extensión específica.
const nombreArchivo = path.basename('/home/usuario/docs/archivo.txt');
console.log(nombreArchivo); // Salida: archivo.txt
console.log(path.basename('/home/usuario/docs/archivo.txt', '.txt')); // Salida: archivo
- path.dirname: Devuelve el directorio padre de una ruta
const directorio = path.dirname('/home/usuario/docs/archivo.txt');
console.log(directorio); // Salida: /home/usuario/docs
- path.extname:Devuelve un objeto con las partes de la ruta: raíz, directorio, nombre base, extensión y nombre sin extensión.
const partesRuta = path.parse('/home/usuario/docs/archivo.txt');
console.log(partesRuta);
// Salida:
// {
//root: '/',
//dir: '/home/usuario/docs',
//base: 'archivo.txt',
//ext: '.txt',
//name: 'archivo'
// }
- path.normalize: Normaliza una ruta, resolviendo referencias como . (directorio actual) y .. (directorio superior).
const rutaNormalizada = path.normalize('/home/usuario/docs/../archivo.txt');
console.log(rutaNormalizada); // Salida: /home/usuario/archivo.txt
- path.sep:ropiedad que devuelve el separador de rutas específico del sistema operativo (\ en Windows, / en Unix).
console.log(path.sep); // Salida: '/' (en Unix) o '\' (en Windows)
- path.delimiter: propiedad que devuelve el delimitador de rutas del sistema operativo (; en Windows, : en Unix), usado en variables de entorno como PATH..
console.log(path.delimiter); // Salida: ':' (en Unix) o ';' (en Windows)
const rutaCompleta = path.join('/home', 'usuario', 'docs', 'archivo.txt');
console.log(rutaCompleta);
// Salida (Unix-like): /home/usuario/docs/archivo.txt
// Salida (Windows): \home\usuario\docs\archivo.txt
const rutaAbsoluta = path.resolve('docs', 'archivo.txt');
console.log(rutaAbsoluta);
// Salida: /ruta/actual/del/proyecto/docs/archivo.txt
const nombreArchivo = path.basename('/home/usuario/docs/archivo.txt');
console.log(nombreArchivo); // Salida: archivo.txt
console.log(path.basename('/home/usuario/docs/archivo.txt', '.txt')); // Salida: archivo
const directorio = path.dirname('/home/usuario/docs/archivo.txt');
console.log(directorio); // Salida: /home/usuario/docs
const partesRuta = path.parse('/home/usuario/docs/archivo.txt');
console.log(partesRuta);
// Salida:
// {
//root: '/',
//dir: '/home/usuario/docs',
//base: 'archivo.txt',
//ext: '.txt',
//name: 'archivo'
// }
const rutaNormalizada = path.normalize('/home/usuario/docs/../archivo.txt');
console.log(rutaNormalizada); // Salida: /home/usuario/archivo.txt
console.log(path.sep); // Salida: '/' (en Unix) o '\' (en Windows)
console.log(path.delimiter); // Salida: ':' (en Unix) o ';' (en Windows)