Esta es una de las diferencias más grandes entre JavaScript en el navegador y en Node.js. En el navegador, JavaScript no puede leer ni escribir archivos en tu ordenador (sería un agujero de seguridad enorme). Pero Node.js sí puede.
El módulo fs (file system) te da el poder de:
Es como darle manos a tu programa para que pueda interactuar con el mundo real.
Node.js ofrece tres formas de trabajar con archivos:
Nosotros usaremos promesas (fs/promises). Son más limpias, más modernas y se integran mejor con async/await.
writeFile crea el archivo si no existe. Si ya existe, sobreescribe su contenido. Recuerda esto — es importante para no perder datos por accidente.
Si quieres añadir contenido sin borrar lo anterior, usa appendFile:
El segundo parámetro "utf8" le dice a Node cómo interpretar los bytes del archivo. Sin él, obtendrías un Buffer (datos en crudo) en vez de texto legible.
Un patrón muy común es escribir datos y luego verificar que se guardaron correctamente:
Ejecuta esto con node index.js y después escribe cat demo.txt en la terminal. Verás que el archivo realmente existe — no es magia, tu programa creó un archivo real en el sistema.
¿Qué pasa si intentas leer un archivo que no existe? Tu programa se rompe con un error. Es buena práctica usar try/catch:
fs desde node:fs/promiseswriteFilereadFileconsole.lognode index.js en la terminalLeer y escribir archivos es la base de casi todo en backend: logs, configuraciones, datos, cachés. Dominar fs es dominar la interacción con el mundo real.