Necesitas funciones y objetos. No hace falta experiencia previa con npm, pruebas ni herramientas de construcción.
Avanza en orden. Cada lección está redactada para Palta es Cool, utiliza ejemplos propios y termina con una actividad cuya respuesta puedes desplegar.
Ubícate antes de avanzar
Al terminar deberías poder relacionar Módulos ES con npm y calidad y resolver un caso nuevo.
Reserva entre 75 y 120 minutos o divide el laboratorio en dos sesiones.
Utiliza un navegador con herramientas de desarrollo y una versión LTS de Node.js con npm. Angular y MongoDB se preparan cuando llegues a esos bloques.
Abrir la guía de herramientas →Diagnóstico rápido: ¿cómo se relacionan Módulos ES y npm y calidad? +
No necesitas acertar todavía. Escribe una hipótesis de dos líneas y compárala con tu respuesta al finalizar; si puedes corregirla y justificar el cambio, hubo aprendizaje.
Aprende el tema paso a paso
Organizarás proyectos con módulos ES, dependencias reproducibles, pruebas y controles de seguridad básicos.
- import y export hacen visibles las dependencias
- package.json declara intención; el lockfile fija la resolución
- Una entrega necesita pruebas, validación y límites
import y export hacen visibles las dependencias
Cada módulo tiene su propio alcance y declara qué publica. Los imports estáticos permiten analizar dependencias; import() carga de forma dinámica cuando realmente se necesita. En el navegador, las rutas relativas incluyen normalmente la extensión; en Node.js la resolución depende del tipo de módulo y package.json.
Evita estado global compartido.
Prefiere exports nombrados para APIs con varias piezas.
Separa módulos por responsabilidad, no por tamaño arbitrario.
¿Qué problema resuelve el alcance propio de cada módulo?
Mostrar respuesta +
Evita colisiones accidentales en el espacio global y vuelve explícito qué símbolos entran y salen de cada archivo.
package.json declara intención; el lockfile fija la resolución
npm administra scripts y dependencias. package.json expresa rangos y comandos; package-lock.json registra el árbol resuelto para instalaciones repetibles. Una dependencia añade código, actualizaciones y riesgo: se evalúa necesidad, mantenimiento, licencia y superficie antes de incorporarla.
No edites node_modules manualmente.
No publiques secretos en .env ni en el historial.
Usa scripts para que el equipo ejecute la misma tarea.
¿Por qué conviene versionar package-lock.json en una aplicación?
Mostrar respuesta +
Porque conserva las versiones exactas resueltas y reduce diferencias entre instalaciones, pruebas y despliegues.
Una entrega necesita pruebas, validación y límites
Las pruebas unitarias cubren reglas puras; las de integración comprueban límites entre módulos; las de extremo a extremo recorren una función visible. Todo dato externo se valida. En el DOM se prefiere textContent para texto; innerHTML con entrada no confiable puede habilitar XSS.
Prueba comportamiento y casos frontera.
Mantén dependencias actualizadas con revisión.
Nunca confíes en validación solo del navegador.
¿Por qué una prueba que pasa no demuestra que la entrada sea segura?
Mostrar respuesta +
Porque seguridad exige modelar entradas hostiles y validar en cada límite confiable. Una prueba solo cubre los casos que realmente ejecuta.
Tu recorrido en tres ideas
- import y export hacen visibles las dependencias
- package.json declara intención; el lockfile fija la resolución
- Una entrega necesita pruebas, validación y límites
Entrega una biblioteca pequeña y segura
Une módulos, npm, pruebas, entrada no confiable y documentación para convertir scripts sueltos en un proyecto reproducible.
Una calculadora de gastos creció en un archivo global y ahora distintas personas obtienen resultados diferentes.
Procedimiento
- Separa dominio, validación y presentación mediante módulos ES.
- Define scripts, lockfile y pruebas de casos normales, fronteras y entrada hostil.
- Ejecuta desde una instalación limpia y documenta decisiones y versiones.
Evidencia mínima
- Grafo de imports sin ciclos accidentales.
- Pruebas que fallan antes de corregir.
- Instalación y ejecución repetibles sin secretos.
Mostrar razonamiento modelo +
La lógica pura no conoce DOM ni consola. La validación vive en el límite; la presentación usa textContent. package.json y el lockfile permiten repetir el entorno y npm test ofrece una comprobación única.
Para ir más lejos¿Qué parte convertirías en un paquete reutilizable y qué API pública conservarías?
Comprueba que puedes usarlo
Antes de continuar, revisa estos tropiezos frecuentes y resuelve un caso sin copiar los ejemplos.
Agregar dependencias sin evaluar mantenimiento, licencia o superficie.
Insertar entrada externa con innerHTML y confiar solo en una prueba feliz.
Ahora hazlo sin guía
Divide una calculadora de presupuesto en módulos, crea pruebas con node:test y documenta scripts reproducibles.
Mostrar pauta de corrección +
- Las dependencias entre archivos son explícitas.
- Prueba vacío, límites y errores.
- No hay secretos ni HTML no confiable interpretado.
