CodeAventura
Node.js
▸El sistema de archivos▸Rutas seguras con el módulo path

Misión

// Importa el módulo path
// Usa __dirname y path.join para construir una ruta
// Muestra la ruta en consola
// Ejecuta: node index.js

TerminalTema: Vintage
10 / 15Rutas seguras con el módulo path
Anterior

Rutas seguras con el módulo path

El problema invisible

Cuando trabajas con archivos, necesitas rutas. Y aquí es donde muchos desarrolladores caen en una trampa:

Esto puede funcionar en tu máquina... hasta que no funciona. ¿Y si carpeta ya tiene una / al final? ¿Y si tu app se ejecuta en Windows, donde las rutas usan \ en vez de /?

Concatenar rutas a mano es como caminar por un campo de minas. Para eso Node.js incluye el módulo path — una herramienta que construye rutas correctas sin importar el sistema operativo.

path.join: el constructor de rutas

path.join toma fragmentos de ruta y los une correctamente:

No importa si algún fragmento tiene barras de más o de menos — path.join lo normaliza todo. Es como un GPS que siempre encuentra el camino correcto.

__dirname: tu punto de referencia

Hay un problema sutil con las rutas relativas. Cuando ejecutas:

Las rutas relativas se resuelven desde donde ejecutas el comando, no desde donde está el archivo. Eso puede dar sorpresas.

__dirname resuelve esto. Es una variable especial de Node que siempre contiene la carpeta donde está el archivo actual:

Con __dirname + path.join, tus rutas funcionan sin importar desde dónde ejecutes el script.

Otras funciones útiles de path

Cada función resuelve un problema específico. No necesitas memorizarlas todas ahora — las irás usando según las necesites.

¿path.join vs path.resolve?

Esta es una duda común:

  • path.join simplemente une fragmentos tal cual
  • path.resolve construye una ruta absoluta desde la raíz

Usa path.join con __dirname para la mayoría de casos. Es el patrón más claro y predecible.

Tu desafío 🚀

  1. Importa el módulo path (con require("node:path"))
  2. Usa __dirname como punto de partida
  3. Construye una ruta con path.join que apunte a un archivo dentro de una subcarpeta
  4. Muestra la ruta resultante en consola
  5. Ejecuta node index.js en la terminal

Una ruta mal construida causa bugs que aparecen solo en producción, cuando ya es tarde. El módulo path los previene antes de que ocurran.