Guia - 1 Node - Js
Guia - 1 Node - Js
Guia - 1 Node - Js
JS Y EXPRESS
1. ¿Qué es Node.js?
Node.js es un entorno de ejecución de JavaScript del lado del servidor que utiliza el motor V8
de Google Chrome para ejecutar código JavaScript fuera del navegador. Permite a los
desarrolladores utilizar JavaScript para escribir herramientas de línea de comandos y scripts
del lado del servidor, además de aplicaciones web tradicionales.
Node.js está principalmente escrito en C++ para las partes principales de su funcionalidad.
Utiliza JavaScript para la escritura de módulos y aplicaciones, pero el entorno de ejecución y
la mayoría de sus bibliotecas fundamentales están implementadas en C++ para optimizar el
rendimiento y la interacción con el sistema operativo.
• Modelo de E/S sin bloqueo y orientado a eventos: Node.js utiliza un modelo de E/S
no bloqueante que lo hace eficiente y ligero, ideal para aplicaciones con muchas
operaciones de E/S.
• Escalabilidad: Permite manejar un gran número de conexiones simultáneas con una
eficiencia superior a los servidores tradicionales.
• Ideal para aplicaciones en tiempo real: Su capacidad para manejar eventos y
conexiones en tiempo real lo hace perfecto para aplicaciones como chats, juegos en
línea y streaming.
• Ecosistema robusto con npm: Node.js tiene acceso a npm, el gestor de paquetes
más grande del mundo, que facilita la reutilización de código y la integración de
bibliotecas externas.
6. ¿Qué es Express?
Express es un framework web minimalista y flexible para Node.js. Proporciona una serie de
características para facilitar el desarrollo de aplicaciones web y APIs, como el enrutamiento
de URLs, manejo de solicitudes y respuestas HTTP, soporte para motores de plantillas, entre
otros.
7. ¿Cuál es el propósito principal de Express?
Express se instala en un proyecto Node.js utilizando el comando npm install express. Esto
descarga e instala el paquete Express desde el registro de npm y lo añade como una
dependencia en el archivo package.json del proyecto.
9. ¿Qué método se usa en Express para definir una ruta que maneja solicitudes GET?
En Express, se utiliza el método app.get() para definir una ruta que maneja solicitudes GET.
Por ejemplo:
});
Este código define una ruta en la raíz del servidor (`/`) que maneja solicitudes GET y responde
});
app.listen(3000, () => {
console.log('Servidor corriendo
en http://localhost:3000');
});
10. ¿Cuál es la sinaxis correcta para crear una aplicación Express básica?
11. Describa cómo funciona un servidor Node.js comparado con uno Apache.
12. ¿Cuál es una ventaja de usar Node.js sobre Apache para aplicaciones en tiempo real?
Una ventaja clave de Node.js sobre Apache para aplicaciones en tiempo real es su capacidad
para manejar conexiones simultáneas de manera eficiente gracias a su modelo de ejecución
no bloqueante. Node.js puede escalar fácilmente para manejar miles de conexiones
concurrentes en aplicaciones como chats, juegos en línea o sistemas de notificaciones en
tiempo real.
13. ¿Qué módulo de Node.js se utiliza para crear un servidor web básico?
Para crear un servidor web básico en Node.js, se utiliza el módulo `http`. Este módulo
proporciona las funcionalidades necesarias para crear un servidor HTTP y manejar solicitudes
y respuestas.
});
server.listen(3000);
El parámetro de callback en http.createServer() es una función que se ejecuta cada vez que
el servidor recibe una solicitud HTTP. Esta función maneja la solicitud (`req`) y genera la
respuesta correspondiente (`res`) que se enviará de vuelta al cliente.
Nodemon es una herramienta de desarrollo para Node.js que ayuda a los desarrolladores
reiniciar automáticamente la aplicación Node.js cuando se detectan cambios en el código
fuente. Esto elimina la necesidad de detener y reiniciar manualmente la aplicación después de
cada modificación.
En lugar de ejecutar node app.js para iniciar una aplicación Node.js, se utiliza nodemon
app.js. Nodemon monitorea los cambios en los archivos del proyecto y reinicia
automáticamente la aplicación cada vez que se guarda un archivo, facilitando el desarrollo
continuo y la depuración.
21. ¿Qué comando se usa para inicializar un proyecto Node.js con npm?
Para inicializar un proyecto Node.js con npm, se utiliza el comando npm init. Este comando
guía al usuario a través de la creación de un archivo package.json interactivo, donde se definen
detalles como el nombre del proyecto, la versión, la descripción, y más.
22. ¿Qué información se incluye típicamente en el archivo package.json?
En el patrón MVC, el componente "View" se encarga exclusivamente de mostrar los datos del
modelo al usuario de manera visualmente atractiva y comprensible. Su función es gestionar la
interfaz de usuario y asegurar que la información se presente de forma clara, sin involucrarse
en la lógica de negocio o la funcionalidad de la aplicación.
app.use(express.static('static'));
30. ¿Qué motor de plantillas es comúnmente usado con Express para renderizar HTML?
Correcto, el motor de plantillas comúnmente usado con Express para renderizar HTML es ejs
(Embedded JavaScript). Este motor de plantillas permite incrustar código JavaScript dentro
de archivos HTML, lo que facilita la generación dinámica de contenido HTML basado en datos
proporcionados por la aplicación.
Para utilizar ejs en una aplicación Express, es necesario configurar Express para que
reconozca este motor de plantillas. Esto se hace típicamente usando el método app.set() de
la siguiente manera:
37. ¿Qué método HTTP se utiliza comúnmente para enviar datos al servidor para crear un
nuevo recurso?
POST.
38. ¿Cuál es el método HTTP utilizado para eliminar un recurso en el servidor?
DELETE.
Recurso no encontrado.
app.put().
42. ¿Qué método HTTP se usa para solicitar únicamente los encabezados de una
respuesta, sin el cuerpo del mensaje?
HEAD.