Tutorial: Node.js para principiantes
Si no está familiarizado con Node.js, esta guía le ayudará a conocer algunos aspectos básicos.
- Pruebe a usar Node.js en Visual Studio Code.
- Creación de la primera aplicación web en Node.js mediante Express
- Uso de un módulo de Node.js
Requisitos previos
- Instalación en Node.js en Windows o en el Subsistema de Windows para Linux
Prueba de NodeJS con Visual Studio Code
Si aún no ha instalado Visual Studio Code, vuelva a la sección de requisitos previos anterior y siga los pasos de instalación vinculados para Windows o WSL.
Abra la línea de comandos, cree un nuevo directorio con
mkdir HelloNode
y, a continuación, vaya al directorio con:cd HelloNode
Cree un archivo de JavaScript denominado "app.js" con una variable denominada "msg" dentro de:
echo var msg > app.js
.Abra el directorio y el archivo app.js en VS Code, para lo que debe usar el comando:
code .
Agregue una variable de cadena simple ("Hola mundo") y, a continuación, envía el contenido de la cadena a la consola. Para ello, escribe lo siguiente en el archivo "app.js":
var msg = 'Hello World'; console.log(msg);
Ejecutar el archivo "app.js" con Node.js. Abre el terminal en VS Code. Para ello, selecciona Ver>Terminal (o selecciona Ctrl+` mediante el carácter de tilde grave). Si necesitas cambiar el terminal predeterminado, selecciona el menú desplegable y elige Seleccionar el shell predeterminado.
En el terminal, escribe:
node app.js
. Deberías ver la salida: "Hola mundo".
Nota
Ten en cuenta que, al escribir console
en el archivo "app.js", VS Code muestra las opciones admitidas relacionadas con el objeto console
que puedes elegir al usar IntelliSense. Intenta experimentar con IntelliSense utilizando otros objetos de JavaScript.
Creación de la primera aplicación web de NodeJS mediante Express
Express es una plataforma de Node.js mínima, flexible y simplificada que facilita el desarrollo de una aplicación web que pueda controlar varios tipos de solicitudes, como GET, PUT, POST y DELETE. Express incluye un generador de aplicaciones que se creará automáticamente una arquitectura de archivos para la aplicación.
Para crear un proyecto con Express.js:
Abre la línea de comandos (símbolo del sistema, PowerShell o la prefieras).
Crea la nueva carpeta de proyecto
mkdir ExpressProjects
y accede al directoriocd ExpressProjects
.Usa Express para crear una plantilla de proyecto HelloWorld:
npx express-generator HelloWorld --view=pug
Nota
Aquí usamos el comando
npx
para ejecutar el paquete de Node Express.js sin instalarlo realmente (o bien instalándolo temporalmente en función de cómo quieras imaginarlo). Si intentas usar el comandoexpress
o comprobar la versión de Express instalada medianteexpress --version
, recibirás una respuesta que te indicará que no se encuentra Express. Si quieres instalar Express de forma global para usarlo una y otra vez, utilizanpm install -g express-generator
. Puedes ver una lista de los paquetes que ha instalado npm mediantenpm list
. Se ordenarán por profundidad (número de profundización de los directorios anidados). Los paquetes que instaló estarán en la profundidad 0. Las dependencias de dichos paquetes estarán en la profundidad 1, las dependencias adicionales en la profundidad 2, etc. Para más información, consulte el artículo sobre la diferencia entre npx y npm en StackOverflow.Para examinar los archivos y las carpetas que Express ha incluido, abre el proyecto en VS Code con
code .
.Los archivos que genera Express crearán una aplicación web que utiliza una arquitectura que puede parecer un poco abrumadora al principio. En la ventana del Explorador de VS Code (presiona Ctrl + Mayús + E para verla), observarás que se han generado los archivos y las carpetas siguientes:
bin
. contiene el archivo ejecutable que inicia la aplicación. Activa un servidor (en el puerto 3000, si no se indica ninguna alternativa) y configura un control de errores básico.public
. contiene todos los archivos de acceso público, incluidos archivos de JavaScript, hojas de estilos de CSS, archivos de fuentes, imágenes y cualquier otro recurso que los usuarios necesitan cuando se conectan al sitio web.routes
. contiene todos los controladores de ruta de la aplicación. Dos archivos,index.js
yusers.js
, se generan automáticamente en esta carpeta para servir como ejemplos de cómo separar la configuración de ruta de la aplicación.views
. contiene los archivos que usa el motor de plantillas. Express está configurado para buscar aquí una vista coincidente cuando se llama al método de representación. El motor de plantillas predeterminado es Jade, pero está en desuso a favor de Pug, por lo que usamos la marca--view
para cambiar el motor de vistas (plantillas). Para ver las opciones de la marca--view
y otras, useexpress --help
.app.js
. el punto inicial de la aplicación. Carga todo y empieza a atender las solicitudes de usuario. En esencia, se trata del elemento que aglutina todas las piezas.package.json
. contiene la descripción del proyecto, el administrador de scripts y el manifiesto de la aplicación. Su principal objetivo es hacer el seguimiento de las dependencias de la aplicación y sus respectivas versiones.
Ahora debes instalar las dependencias que Express usa para compilar y ejecutar la aplicación HelloWorld Express (los paquetes usados para tareas como la ejecución del servidor, tal como se define en el archivo
package.json
). En VS Code, abre el terminal mediante las opciones Ver>Terminal (o presiona Ctrl + `, con el carácter de tilde grave); asegúrate de que todavía estás en el directorio del proyecto "HelloWorld". Instala las dependencias de paquetes de Express con:npm install
En este momento, tiene el marco de trabajo configurado para una aplicación web de varias páginas con acceso a una gran variedad de API y de métodos de utilidad HTTP y middleware, lo que facilita la creación de una API sólida. Inicia la aplicación Express en un servidor virtual. Para ello, escribe:
npx cross-env DEBUG=HelloWorld:* npm start
Sugerencia
La parte
DEBUG=myapp:*
del comando anterior significa que estás indicando a Node.js que desea activar el registro con fines de depuración. No olvides reemplazar "myapp" por el nombre de la aplicación. Puedes encontrar el nombre de la aplicación en el archivopackage.json
bajo la propiedad "name". Al usarnpx cross-env
se establece la variable de entornoDEBUG
en cualquier terminal, pero también se puede establecer con la forma específica del terminal. El comandonpm start
indica a npm que ejecute los scripts en el archivopackage.json
.Ahora, para ver la aplicación en ejecución, puedes abrir un explorador web e ir a localhost:3000.
Ahora que la aplicación HelloWorld Express se ejecuta localmente en el explorador, intenta realizar un cambio; para ello, abre la carpeta "views" en el directorio del proyecto y selecciona el archivo "index.pug". Una vez abierto, cambia
h1= title
ah1= "Hello World!"
y selecciona Guardar (Ctrl + S). Para ver el cambio, actualiza la URL de localhost:3000 en el explorador web.Para detener la ejecución de la aplicación Express, escribe lo siguiente en el terminal: Ctrl+C
Uso de un módulo de Node.js
Node.js tiene herramientas para ayudar con el desarrollo de aplicaciones web de servidor, algunas integradas y muchas más disponibles a través de npm. Estos módulos pueden ayudar con muchas tareas:
Herramienta | Se utiliza para |
---|---|
gm, sharp | Manipulación de imágenes, incluida la edición, el cambio de tamaño, la compresión, etc., directamente en el código de JavaScript |
PDFKit | Generación de archivos PDF |
validator.js | Validación de cadenas |
imagemin, UglifyJS2 | Minificación |
spritesmith | Generación de hojas de sprite |
winston | Registro |
commander.js | Creación de aplicaciones de línea de comandos |
Usaremos el módulo del sistema operativo integrado para obtener información sobre el sistema operativo del equipo:
En la línea de comandos, abre la CLI de Node.js. Verás el mensaje
>
, que te indica que estás usando Node.js después de escribir:node
.Para identificar el sistema operativo que estás usando actualmente (que debe devolver una respuesta que te indique que estás en Windows), escribe:
os.platform()
.Para comprobar la arquitectura de la CPU, escribe:
os.arch()
.Para ver las CPU disponibles en el sistema, escriba:
os.cpus()
.Para salir de la CLI de Node.js escribe
.exit
o selecciona Ctrl + C dos veces.Sugerencia
Puedes usar el módulo de sistema operativo de Node.js para realizar acciones como comprobar la plataforma y devolver una variable específica de la plataforma: Win32/.bat para el desarrollo de Windows, darwin/.sh para Mac/UNIX, Linux, SunOS, etc. (por ejemplo,
var isWin = process.platform === "win32";
).