MÓDULO PATH DE NODE.JS: MÉTODOS Y EJEMPLOS
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)