Learning Node Js - alfonsogastalverllamas/documentation GitHub Wiki

¿Qué es Node JS?

Node JS no es un lenguaje de programación, ni un framework, sino un entorno de ejecución de JavaScript. Esto permite que se pueda ejecutar en muchas plataformas diferentes. Es de código abierto, es asíncrono y una arquitectura orientada a eventos a través del event-loop. El motor de JavaScript que utiliza es el V8, que es el que usa Google Chrome.

Node JS está orientado a eventos, es decir que trabaja con tareas que se van ejecutando mientras espera tareas que va dejando por ahí. Esto lo hace en un solo thread, es decir, es monohilo. Para poder hacer muchas cosas lo que hace es trabajar de manera asíncrona y deja las cosas aparcadas hasta que terminen. Es decir Node JS lanza una tarea, que la ejecuta el motor y Node JS se olvida de ella, solo lee un bus de eventos. Cuando llega el evento de que ha terminado la retoma. Esto quiere decir que es capaz de trabajar con gran cantidad de peticiones sin que eso suponga un problema de rendimiento.

Permite crear apps, apis, servicios, utilidades, etc de manera muy rápida y sencilla. Por último tiene una gran comunidad y un ecosistema muy grande de paquetes a través de npm, que es el gestor de paquetes de node. Es rápido, escalable y muy barato. El hecho de que sea monohilo es útil para desplegar varias aplicaciones y escalarlo sencillamente.

Lo creó Ryan Darl en 2009.

¿Requisitos de conocimiento?

Saber algo de javascript.

  • Callbacks
  • Promises
  • Expresiones
  • Tipos de datos
  • Bucles
  • Arrays
  • Etc.
  • Async-Await
  • Modulos

Tutoriales

Instalar NodeJS

Sin version manager:

https://nodejs.org/en/download/

  • Instalar la version LTS

Con version manager:

Para instalar más de una versión puedes usar un gestor de version: nvm o fnm

Si usas fnm necesitas rust: https://www.rust-lang.org/es

  1. Instala rust
  2. Entra en cmd de windows
winget install Schniz.fnm
  1. Reinicia cmd de windows e instala node poniendo la version que quieras
fnm install 20.11.0
fnm install 18.18.1
  1. Lista las versiones:
C:\Users\Fonso>fnm list
* v20.11.0 default
* v18.18.1 default
* system
  1. utilizar una version en concreto

Una sola vez

fnm use 18.18.1

Por defecto

fnm alias 20.11.0 default

Ejecutar Node desde linea de comandos

Instalar un entorno de desarrollo --> Visual Studio

Crear