Una calculadora básica desarrollada con TypeScript, HTML y CSS que demuestra conceptos fundamentales de programación web moderna.
- ✅ Operaciones básicas: suma, resta, multiplicación, división
- ✅ Interfaz limpia y moderna
- ✅ Validación de errores (división por cero)
- ✅ Funciones de limpiar y borrar
- ✅ Desarrollada con TypeScript para type safety
- ✅ Event listeners modernos (sin onclick en HTML)
- ✅ Source maps para depuración
- ✅ Configuración completa de VSCode para debugging
- TypeScript - Lenguaje principal
- HTML5 - Estructura
- CSS3 - Estilos (sin frameworks, diseño limpio)
- lite-server - Servidor de desarrollo
- VSCode - Configuración de depuración incluida
- Node.js (versión 14 o superior)
- npm (incluido con Node.js)
- Navegador web moderno (Chrome recomendado para depuración)
-
Clona o descarga el proyecto
git clone <url-del-repositorio> cd calc
-
Instala las dependencias
npm install
# Compilar TypeScript a JavaScript
npm run build
# Iniciar servidor de desarrollo (abre navegador automáticamente)
npm start
# Compilar y iniciar en un solo comando
npm run build && npm start| Comando | Descripción | Salida |
|---|---|---|
npm run build |
Compila TypeScript → JavaScript | dist/ |
npm start |
Inicia lite-server | http://localhost:3000 |
El proyecto incluye configuración completa para depurar con VSCode:
- Abre el proyecto en VSCode
- Ve a la pestaña "Run and Debug" (Ctrl+Shift+D)
- Selecciona "Launch Calculator with Chrome"
- Presiona F5
VSCode automáticamente:
- ✅ Compila el código TypeScript
- ✅ Inicia el servidor de desarrollo
- ✅ Abre Chrome con debugger conectado
- ✅ Termina el servidor al cerrar la depuración
- Ejecuta
npm starten terminal - En VSCode, selecciona "Launch Calculator with Chrome"
- Presiona F5
- Breakpoints visuales en código TypeScript original
- Source maps para mapeo TS ↔ JS
- Variables inspector en tiempo real
- Call stack completo
- Console integrada
calc/
├── src/
│ ├── index.html # Página principal
│ ├── index.ts # Lógica de la calculadora
│ └── styles.css # Estilos
├── dist/ # Código compilado (generado)
├── .vscode/
│ └── launch.json # Configuración de depuración
├── bs-config.json # Configuración de lite-server
├── tsconfig.json # Configuración de TypeScript
├── package.json # Dependencias y scripts
└── README.md # Este archivo
- Números: 0-9, punto decimal
- Operadores: +, -, ×, ÷
- Funciones:
C- Limpiar todo⌫- Borrar último carácter=- Calcular resultado
- Event delegation: Un solo event listener maneja todos los botones
- Data attributes:
data-valueydata-actionpara separar lógica - Type safety: TypeScript previene errores en tiempo de compilación
- Error handling: Validación de división por cero
- Separación de responsabilidades: HTML (estructura), CSS (presentación), TS (lógica)
- Event listeners modernos: Sin
onclicken HTML - Encapsulación: Funciones privadas, no contamina scope global
- Target: ES6
- Module: ES2015
- Source Maps: Habilitados
- Strict mode: Activado para máxima type safety
# Verificar que el puerto 3000 esté libre
lsof -i :3000
# Si está ocupado, matar el proceso
pkill -f lite-server# Limpiar y recompilar
rm -rf dist/
npm run build- Asegúrate de que Chrome esté actualizado
- Verifica que los source maps estén habilitados en DevTools
- Reinicia VSCode si la depuración no funciona
Este es un proyecto educativo. Sugerencias de mejora:
- Añadir más operaciones (potencia, raíz cuadrada)
- Implementar historial de cálculos
- Añadir tests unitarios
- Mejorar la accesibilidad (ARIA labels)
Proyecto educativo - Uso libre para aprendizaje.