Introducción a Node.js
Node.js es un entorno de ejecución de JavaScript que utiliza un motor de JavaScript basado en Chrome V8. Permite ejecutar código JavaScript en el servidor, lo que le permite construir aplicaciones de red escalables y de alto rendimiento. Node.js ha ganado mucha popularidad en los últimos años debido a su facilidad de uso y su capacidad para manejar grandes cantidades de tráfico web.
En este tutorial, aprenderemos cómo instalar y comenzar a usar Node.js en su sistema. También discutiremos algunos conceptos básicos sobre cómo funciona Node.js y cómo puede utilizarlo para construir aplicaciones web.
Instalación de Node.js
Para comenzar a usar Node.js, primero debemos instalarlo en nuestro sistema. Node.js se puede instalar en Windows, Mac OS y Linux. A continuación, se detallan los pasos para instalar Node.js en diferentes sistemas operativos.
Windows
- Descargue el instalador de Node.js desde el sitio web oficial de Node.js: https://nodejs.org/es/
- Ejecute el instalador y siga las instrucciones en pantalla para completar la instalación.
- Una vez que se haya completado la instalación, abra el símbolo del sistema y ejecute el siguiente comando para verificar que Node.js se haya instalado correctamente:
node --version
Mac OS
- Instale Homebrew en su sistema si aún no lo ha hecho. Puede encontrar instrucciones sobre cómo instalar Homebrew en el sitio web oficial: https://brew.sh/
- Abra la terminal y ejecute el siguiente comando para instalar Node.js usando Homebrew:
brew install node
- Una vez que se haya completado la instalación, ejecute el siguiente comando para verificar que Node.js se haya instalado correctamente:
node --version
Linux
- Ejecute los siguientes comandos en la terminal para instalar Node.js en sistemas basados en Debian/Ubuntu:
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs
- Para sistemas basados en CentOS/RHEL, ejecute los siguientes comandos en la terminal:
curl -sL https://rpm.nodesource.com/setup_14.x | sudo -E bash -
sudo yum install -y nodejs
- Una vez que se haya completado la instalación, ejecute el siguiente comando para verificar que Node.js se haya instalado correctamente:
node --version
Conceptos básicos de Node.js
Ahora que hemos instalado Node.js en nuestro sistema, es hora de explorar algunos conceptos básicos sobre cómo funciona Node.js y cómo podemos comenzar a usarlo para construir aplicaciones web.
Módulos
En Node.js, todo se basa en módulos. Un módulo es un archivo JavaScript que contiene una o más funciones o variables y se puede exportar para que otras partes de la aplicación puedan utilizarlo. Para cargar un módulo en Node.js, utilizamos la función require()
.
Por ejemplo, supongamos que tenemos un módulo llamado utils.js
que contiene una función de utilidad. Para cargar este módulo en otro archivo JavaScript, podemos hacer lo siguiente:
const utils = require('./utils');
En este caso, ./utils
hace referencia al archivo utils.js
en el mismo directorio que el archivo JavaScript actual.
Callbacks
Node.js es de naturaleza asincrónica, lo que significa que no bloquea el hilo principal, permitiendo que el programa continúe ejecutándose mientras se realizan operaciones costosas, como la lectura de archivos o la solicitud de HTTP. Para manejar la asincronía en Node.js, utilizamos callbacks.
Un callback es una función que se pasa como argumento a otra función y se ejecuta después de que se complete una operación asincrónica. Por ejemplo, en una solicitud HTTP, podemos pasar una función de callback que maneje la respuesta de la solicitud:
const https = require('https');
https.get('https://example.com', (res) => {
// Manejar la respuesta de la solicitud aquí
});
Eventos
Node.js utiliza el módulo events
para trabajar con eventos. Un evento es una señal emitida por un objeto que puede ser escuchada y respondida por otros objetos. Para emitir y escuchar eventos en Node.js, utilizamos la clase EventEmitter
.
Por ejemplo, para crear un objeto que emita un evento personalizado, podemos hacer lo siguiente:
const { EventEmitter } = require('events');
const myEmitter = new EventEmitter();
myEmitter.on('event', () => {
console.log('Evento emitido');
});
myEmitter.emit('event');
En este caso, el objeto myEmitter
emite un evento llamado event
cada vez que se llama al método emit()
, y la función de callback se activará para responder al evento.
Creación de una aplicación web simple con Node.js
Ahora que comprendemos los conceptos básicos de Node.js, podemos comenzar a construir una aplicación web simple con Node.js. En este ejemplo, crearemos un servidor web que escucha en el puerto 3000 y responde con un mensaje de "Hello, World!".
<!DOCTYPE html>
<html>
<head>
<title>Aplicación web simple con Node.js</title>
</head>
<body>
<h1>¡Hola, Mundo!</h1>
</body>
</html>
En este código HTML simple, creamos una página web que muestra un mensaje de "¡Hola, Mundo!" utilizando la etiqueta <h1>
. Guarda este código en un archivo llamado index.html
.
Creación de un servidor Node.js
Para crear un servidor Node.js que sirva este archivo HTML, necesitamos crear un archivo JavaScript que maneje las solicitudes HTTP y devuelve el archivo HTML. A continuación se muestra un ejemplo de cómo hacerlo:
const http = require('http');
const fs = require('fs');
const path = require('path');
const server = http.createServer((req, res) => {
const filePath = path.join(__dirname, 'index.html');
fs.readFile(filePath, (err, data) => {
if (err) {
res.writeHead(500, { 'Content-Type': 'text/plain' });
res.end('Error de servidor');
} else {
res.writeHead(200, { 'Content-Type': 'text/html' });
res.end(data);
}
});
});
server.listen(3000, () => {
console.log('Servidor escuchando en el puerto 3000');
});
En este ejemplo, creamos un servidor HTTP utilizando el módulo http
de Node.js. Cuando se realiza una solicitud HTTP al servidor, leemos el archivo index.html
y lo devolvemos como respuesta. Finalmente, el servidor se inicia y comienza a escuchar en el puerto 3000.
Conclusión
En este tutorial, aprendimos cómo instalar Node.js en diferentes sistemas operativos y exploramos algunos conceptos básicos sobre cómo funciona Node.js. También construimos una aplicación web simple con Node.js que sirve un archivo HTML.
Node.js es una herramienta poderosa y versátil que puede utilizarse para construir una amplia variedad de aplicaciones web. Siempre hay más por aprender sobre Node.js, así que te animo a explorar más y experimentar con este potente entorno de ejecución de JavaScript. ¡Buena suerte!
Hola, tengo conocimiento en java script y quiero utilizar webstorm. ¿me podrías aconsejar qué pasos seguir para aprender node js, he visto tu curso de javascript y es muy bueno, aunque he completado con javascript.info... me gustaría que hubiera prácticas, tipo juegos, etc… Gracias
Yo siento que no es justo que Node.JS no está en español.
En otras palabras, hay que usar rust que es muchíiiiiiiisimo más rápido
pero no es la version LTS? o si?
Eres brutal bro !!! Gracias por todo tu conocimiento !!!
Uso nodejs con express muy bueno
leanpub te cobran 19e para poder descargar el libro a 0e 🙁
Buenas comunidad, he hecho un proyecto y en me pidieron moverlo a un pc que funciona como servidor y usa Windows 7 de 32 bits, y no me funciona instalar node , alguien conoce alguna solución por la compatibilidad o arreglado este problema, en si necesito node para instalar algunas dependencias de ese proyecto
Muy bien, gracias por el dato amigo saludos
Podrías hacer un video de como integrar WebPay con NodeJS?? Por favor midu
Like si también esperas con ansias el curso de Cloudflare 💪
Esperando con ansias node 22 🙌
Yo uso la 21 por el watch, pero era horrible, corres un server y se reinicia apenas haces la petición era horrible, estas son buenas noticias
Excelente lo del node —run dev espero pronto sea estable ya para poder usarlo en los nuevos desarrollos
Como que ya hay un reemplazo de nvm? 😅
Curso de cloudflare ? 🤯
Todo esto ya lo podíamos hacer desde node 20 en adelante de hecho por lo que recuerdo
¿Qué proyectos puedo crear en Node.js para mi portfolio? hablan mucho del Front porque es más demandado pero donde quedamos los de Backend? pipipi
esos lentes son de protecion de luz azul
Chau nodemon RIP