Node.js

Node

Tutorial Node: Introducción a Node.js

Nodo.js: Diferencias con JavaScript y Express, instalación y tu primer script. Aprende a instalar Node.js y configurarlo para desarrollo eficiente.

Aprende Node GRATIS y certifícate

¿Qué es Node.js y qué diferencia hay con JavaScript y Express?

Node.js es un entorno de ejecución de JavaScript construido sobre el motor V8 de Google Chrome. Permite ejecutar código JavaScript en el lado del servidor, lo que extiende las capacidades del lenguaje más allá del navegador web. Gracias a Node.js, es posible desarrollar aplicaciones de red escalables y de alto rendimiento utilizando JavaScript en el backend.

Mientras que JavaScript es un lenguaje de programación interpretado que tradicionalmente se ha utilizado en el lado del cliente para manipular páginas web, con Node.js se puede utilizar el mismo lenguaje para construir aplicaciones del lado del servidor. Esto unifica el desarrollo frontend y backend bajo un mismo lenguaje, facilitando la transición y la colaboración entre ambos entornos.

Una de las características clave de Node.js es su modelo de E/S no bloqueante y orientado a eventos, lo que lo hace ligero y eficiente para aplicaciones en tiempo real y de datos intensivos. Esto difiere del uso típico de JavaScript en el navegador, donde el enfoque principal es la manipulación del DOM y la interacción del usuario.

Por otro lado, Express es una framework web minimalista y flexible para Node.js. Proporciona un conjunto de características robustas para desarrollar aplicaciones web y API. Mientras que Node.js ofrece las herramientas básicas para crear un servidor, Express simplifica el proceso al proporcionar métodos y middleware que facilitan la gestión de solicitudes HTTP, el enrutamiento y la renderización de vistas.

La diferencia fundamental entre Node.js y Express radica en que Node.js es el entorno de ejecución que permite ejecutar JavaScript en el servidor, mientras que Express es un framework que se ejecuta sobre Node.js para agilizar y simplificar el desarrollo de aplicaciones web. Express utiliza las funcionalidades nativas de Node.js y las extiende, permitiendo a los desarrolladores centrarse en la lógica de la aplicación sin preocuparse por configuraciones complejas del servidor.

Instalando Node.js: tu motor de JavaScript en el servidor

Para comenzar a desarrollar aplicaciones con Node.js, es crucial instalar el entorno en tu máquina local. Node.js es compatible con los sistemas operativos más comunes: Windows, macOS y Linux. A continuación, se detallan los pasos para cada plataforma, asegurando una instalación correcta y actualizada.

Instalación en Windows

La instalación de Node.js en Windows se realiza mediante el instalador oficial:

  1. Visita la página oficial de Node.js en https://nodejs.org y descarga el instalador para Windows, asegurándote de seleccionar la versión LTS (Long Term Support) más reciente.
  2. Ejecuta el archivo descargado y sigue las instrucciones del asistente de instalación. Es recomendable mantener las opciones predeterminadas para configurar adecuadamente el entorno de desarrollo.
  3. Una vez completada la instalación, verifica que Node.js se ha instalado correctamente abriendo el Símbolo del sistema y ejecutando el comando:
   node -v

Este comando mostrará la versión de Node.js instalada en tu sistema, confirmando que todo está en orden.

Instalación en macOS

En macOS, una de las formas más recomendadas de instalar Node.js es utilizando Homebrew, un gestor de paquetes que simplifica la instalación y actualización de software:

  • Si aún no tienes Homebrew instalado, abre la Terminal y ejecuta el siguiente comando para instalarlo:
   /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  • Una vez instalado Homebrew, instala Node.js ejecutando:
   brew install node
  • Verifica la instalación comprobando la versión de Node.js:
   node -v

Así confirmarás que Node.js está listo para su uso en tu sistema macOS.

Instalación en Linux

En Linux, especialmente en distribuciones basadas en Debian como Ubuntu, puedes instalar Node.js utilizando el gestor de paquetes APT:

  • Añade el repositorio de NodeSource, que proporciona paquetes actualizados de Node.js. Ejecuta en la Terminal:
   curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
  • Instala Node.js con el siguiente comando:
   sudo apt-get install -y nodejs
  • Comprueba la versión instalada para asegurar que todo está correcto:
   node -v

Este comando mostrará la versión de Node.js instalada en tu sistema.

Para otras distribuciones de Linux, consulta la documentación oficial de Node.js para obtener instrucciones específicas.

Uso de nvm para gestionar versiones de Node.js

Una alternativa versátil para instalar Node.js es utilizar nvm (Node Version Manager), una herramienta que permite gestionar múltiples versiones de Node.js en el mismo sistema. Esto es especialmente útil si necesitas trabajar con diferentes versiones para distintos proyectos.

Para instalar nvm, sigue estos pasos:

  • Descarga e instala nvm ejecutando el siguiente script en tu Terminal (compatible con macOS y Linux):
   curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
  • Cierra y vuelve a abrir la Terminal o recarga tu perfil de shell ejecutando:
   source ~/.bashrc

o para zsh:

   source ~/.zshrc
  • Instala la versión LTS más reciente de Node.js con nvm:
   nvm install --lts
  • Verifica que la instalación ha sido exitosa comprobando la versión:
   node -v

Con nvm, puedes cambiar fácilmente entre versiones de Node.js según lo necesites, lo que proporciona flexibilidad en tu entorno de desarrollo.

Es importante destacar que, junto con Node.js, también se instala npm (Node Package Manager), que es el gestor de paquetes oficial para Node.js. npm te permite instalar y gestionar dependencias y módulos necesarios para tus proyectos, facilitando el desarrollo y la compartición de código.

Entorno de desarrollo ideal: configuración de VS Code y Node.js

Para maximizar la eficiencia en el desarrollo con Node.js, es fundamental configurar un entorno de desarrollo integrado (IDE) robusto y personalizado. Visual Studio Code (VS Code) es una de las herramientas más populares y versátiles para este propósito, gracias a su flexibilidad y amplia gama de extensiones.

Comienza por descargar e instalar VS Code desde su sitio oficial: https://code.visualstudio.com/. Una vez instalado, es momento de ajustar su configuración para optimizar el desarrollo con Node.js.

Extensiones esenciales para Node.js

Para potenciar VS Code en el desarrollo con Node.js, es recomendable instalar ciertas extensiones que facilitan tareas comunes y mejoran la productividad.

  • Node Extension Pack: Este paquete incluye un conjunto de extensiones útiles, como npm Intellisense, **Version Lens ** y ESLint.
  • ESLint: Ayuda a mantener un código limpio y consistente aplicando reglas de estilo y señalando errores de sintaxis.
  • Prettier - Code formatter: Formatea automáticamente el código siguiendo estándares definidos, mejorando la legibilidad.
  • npm Intellisense: Provee autocompletado para los módulos de npm, agilizando la importación de paquetes.

Para instalar una extensión, ve al panel de Extensiones en VS Code (icono de cuadrados en la barra lateral izquierda), busca el nombre de la extensión y haz clic en Instalar.

Configuración de StandardJS

Para mantener un código consistente y aplicar buenas prácticas, usaremos StandardJS, una herramienta que combina las funcionalidades de Prettier y ESLint para ofrecer una solución completa de formateo y verificación de estilo en JavaScript. Esto nos permite ahorrar tiempo y evitar configuraciones complejas, ya que StandardJS viene con un conjunto de reglas predefinidas que se consideran un estándar en la comunidad JavaScript.

Sigue estos pasos para configurar StandardJS en tu proyecto:

Instalación

La forma más sencilla de usar JavaScript Standard Style es instalarlo globalmente como un programa de línea de comandos de Node. Ejecuta el siguiente comando en la terminal:

npm install standard --global

O, si prefieres instalar StandardJS localmente para un proyecto específico, ejecuta:

npm install standard --save-dev

Uso

Después de instalar StandardJS, puedes usar el comando standard. La forma más sencilla de verificar el estilo de todos los archivos JavaScript en el directorio actual es:

standard

Si has instalado StandardJS localmente, usa npx:

npx standard

Opcionalmente, puedes especificar directorios (o archivos) usando patrones glob. Asegúrate de usar comillas para los patrones glob para que los procese StandardJS en lugar del shell:

standard "src/**/*.js" "test/**/*.js"

Nota: Por defecto, StandardJS buscará todos los archivos que coincidan con los patrones: **/*.js, **/*.jsx.

Integración con tu proyecto

  • Agrega StandardJS al package.json
    Para facilitar su uso, agrega StandardJS a las dependencias de desarrollo y configúra un script de verificación en el archivo package.json de tu proyecto:
{
  "name": "mi-proyecto",
  "devDependencies": {
    "standard": "*"
  },
  "scripts": {
    "lint": "standard"
  }
}
  • Ejecuta verificaciones automáticas
    Con esta configuración, puedes verificar el estilo del código ejecutando:
npm run lint
  • Opcional: Corrige errores automáticamente
    Si deseas que StandardJS intente corregir los errores de estilo automáticamente, agrega la opción --fix al comando:
npx standard --fix
  • Integración con VS Code
    Para aprovechar al máximo StandardJS en VS Code, instala la extensión JavaScript Standard Style y configura el editor para formatear el código al guardar.
    • Ve a Preferencias > Configuración.
    • Busca editor.formatOnSave y actívalo.
    • Asegúrate de que la extensión de StandardJS esté habilitada para tu proyecto.

Primer script en Node.js: de cero a la primera ejecución

Ahora que tienes Node.js instalado y tu entorno de desarrollo configurado, es momento de escribir y ejecutar tu primer script en Node.js. Este primer ejercicio te permitirá familiarizarte con la ejecución de código JavaScript en el servidor y comprender cómo Node.js gestiona los scripts.

Creando el directorio del proyecto

Comienza por crear una nueva carpeta para tu proyecto. Esto te ayudará a organizar tu código y facilitará la gestión de archivos. En tu terminal, navega hasta el directorio donde deseas crear el proyecto y ejecuta:

mkdir mi-primer-proyecto
cd mi-primer-proyecto

Esta secuencia crea una carpeta llamada mi-primer-proyecto y cambia el directorio actual a esta nueva carpeta.

Inicializando el proyecto con npm

Aunque no es estrictamente necesario para un script simple, es una buena práctica inicializar el proyecto con npm para gestionar futuras dependencias. Ejecuta el siguiente comando:

npm init -y

Este comando crea un archivo package.json básico con la configuración predeterminada, lo que será útil más adelante para añadir paquetes y scripts.

Escribiendo tu primer script

Utiliza Visual Studio Code o tu editor de texto preferido para crear un nuevo archivo llamado app.js dentro de la carpeta del proyecto. En este archivo, escribe el siguiente código:

console.log('¡Hola, Node.js!');

Este sencillo script utiliza console.log para imprimir un mensaje en la consola, demostrando cómo Node.js ejecuta código JavaScript en el lado del servidor.

Ejecutando el script con Node.js

Para ejecutar tu script, asegúrate de que estás en el directorio del proyecto en tu terminal y ejecuta el comando:

node app.js

Deberías ver en la consola el mensaje:

¡Hola, Node.js!

Este resultado confirma que Node.js ha ejecutado tu script correctamente, mostrando en pantalla el mensaje definido.

Explorando el objeto global

A diferencia de JavaScript en el navegador, en Node.js dispones de objetos y funciones adicionales. Modifica tu app.js para explorar algunas de estas funcionalidades:

console.log('Directorio actual:', __dirname);
console.log('Nombre del archivo:', __filename);

Al ejecutar de nuevo node app.js, el resultado será:

Directorio actual: /ruta/a/tu/proyecto/mi-primer-proyecto
Nombre del archivo: /ruta/a/tu/proyecto/mi-primer-proyecto/app.js

Aquí, __dirname y __filename son variables globales en Node.js que proporcionan información sobre el directorio y el archivo actual, lo que es útil para gestionar rutas y archivos en tus aplicaciones.

Trabajando con módulos nativos

Node.js incluye una serie de módulos nativos que puedes utilizar sin necesidad de instalar dependencias adicionales. Por ejemplo, el módulo os proporciona información sobre el sistema operativo. Añade el siguiente código a tu app.js:

const os = require('os');

console.log('Sistema operativo:', os.platform());
console.log('Arquitectura del CPU:', os.arch());
console.log('Memoria libre:', os.freemem());

Al ejecutar el script, obtendrás detalles sobre tu sistema, aprovechando los módulos incorporados de Node.js.

Ejecutando scripts con parámetros

Puedes pasar argumentos a tu script desde la línea de comandos. Modifica app.js para acceder a los parámetros proporcionados:

const args = process.argv.slice(2);

console.log('Argumentos ingresados:', args);

Ejecuta el script con argumentos:

node app.js primer_parametro segundo_parametro

El resultado será:

Argumentos ingresados: [ 'primer_parametro', 'segundo_parametro' ]

La propiedad process.argv es un array que contiene los argumentos proporcionados al script, lo que permite personalizar el comportamiento de tu aplicación según las entradas del usuario.

Manejando funciones asíncronas

Aunque profundizaremos en la asincronía más adelante, es interesante ver un ejemplo básico utilizando setTimeout:

console.log('Mensaje mostrado inmediatamente.');

setTimeout(() => {
  console.log('Mensaje mostrado después de 2 segundos.');
}, 2000);

Al ejecutar node app.js, observarás que el primer mensaje se muestra de inmediato, y tras 2 segundos, aparece el segundo mensaje. Esto demuestra cómo Node.js maneja operaciones asíncronas sin bloquear el flujo principal de ejecución.

Utilizando importaciones modernas (ECMAScript Modules)

Con las versiones más recientes de Node.js, es posible utilizar la sintaxis de módulos ECMAScript (import y export). Para habilitar esta funcionalidad, modifica tu package.json para especificar el tipo de módulo:

{
  "name": "mi-primer-proyecto",
  "version": "1.0.0",
  "type": "module",
  "main": "app.js",
  "scripts": {
    "start": "node app.js"
  },
  "author": "",
  "license": "ISC"
}

Ahora, puedes usar la sintaxis import en app.js:

import os from 'os';

console.log('Hostname:', os.hostname());

Ejecuta el script con:

npm start

Esta configuración te permite aprovechar las características modernas de JavaScript en Node.js, manteniendo tu código actualizado y limpio.

Creando scripts en package.json

Para simplificar la ejecución de tu aplicación, puedes definir un script en el package.json. Como ya agregamos "start": "node app.js" en la sección scripts, puedes iniciar tu aplicación simplemente con:

npm start

Esto ejecuta el comando definido, facilitando el proceso y estandarizando la forma de iniciar tu proyecto.

Para seguir leyendo hazte Plus

¿Ya eres Plus? Accede a la app

Plan mensual

19.00 € /mes

Precio normal mensual: 19 €
47 % DE DESCUENTO

Plan anual

10.00 € /mes

Ahorras 108 € al año
Precio normal anual: 120 €
Aprende Node GRATIS online

Todas las lecciones de Node

Accede a todas las lecciones de Node y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.

Accede GRATIS a Node y certifícate

En esta lección

Objetivos de aprendizaje de esta lección

  1. Comprender qué es Node.js y cómo extiende JavaScript al servidor.
  2. Diferenciar JavaScript en cliente y servidor con Node.js.
  3. Distinguir Node.js como entorno y Express como framework.
  4. Instalar Node.js en diversas plataformas.
  5. Configurar VS Code para maximizar el desarrollo de Node.js.
  6. Escribir y ejecutar un primer script de Node.js.
  7. Explorar módulos nativos y gestión de parámetros en Node.js.
  8. Aplicar configuraciones y automatizaciones en VS Code.
  9. Configurar y utilizar ESLint y Prettier con StandardJS para mantener calidad de código.