Node.js para Principiantes: Guía Completa de Inicio

¿Qué es Node.js?

Node.js es un entorno de ejecución de JavaScript del lado del servidor. Permite construir aplicaciones backend rápidas y escalables usando JavaScript, el lenguaje más popular del mundo.

Instalación

Descarga Node.js desde nodejs.org. Te recomiendo la versión LTS (Long Term Support) para mayor estabilidad.

# Verificar instalación
node --version
npm --version

Tu Primer Servidor HTTP

const http = require("http");

const servidor = http.createServer((req, res) => {
    res.writeHead(200, { "Content-Type": "application/json" });
    res.end(JSON.stringify({ mensaje: "¡Hola desde Node.js!" }));
});

servidor.listen(3000, () => {
    console.log("Servidor corriendo en http://localhost:3000");
});

Sistema de Módulos

// CommonJS
const fs = require("fs");
const path = require("path");

// ES Modules (recomendado)
// En package.json: "type": "module"
import fs from "fs";
import path from "path";

npm — Gestor de Paquetes

# Inicializar proyecto
npm init -y

# Instalar dependencias
npm install express
npm install -D nodemon

# Scripts en package.json
"scripts": {
    "start": "node app.js",
    "dev": "nodemon app.js"
}

Express.js — Tu Primer Servidor Real

const express = require("express");
const app = express();

app.use(express.json());

app.get("/", (req, res) => {
    res.json({ mensaje: "Bienvenido a mi API" });
});

app.get("/usuarios", (req, res) => {
    const usuarios = [
        { id: 1, nombre: "Ana" },
        { id: 2, nombre: "Carlos" }
    ];
    res.json(usuarios);
});

app.post("/usuarios", (req, res) => {
    const { nombre, email } = req.body;
    res.status(201).json({ 
        id: Date.now(), 
        nombre, 
        email 
    });
});

app.listen(3000, () => {
    console.log("Servidor en http://localhost:3000");
});

Conclusión

Node.js es una tecnología fundamental en el desarrollo web moderno. Con una curva de aprendizaje amigable y un ecosistema masivo, es la elección perfecta para el backend.

🤖 Asistente Virtual
¡Hola! 👋

¿En qué te puedo ayudar hoy?