Node.js® es un entorno de ejecución para JavaScript construido con el motor de JavaScript V8 de Chrome. Node.js usa un modelo de operaciones E/S sin bloqueo y orientado a eventos, que lo hace liviano y eficiente. El ecosistema de paquetes de Node.js, npm, es el ecosistema mas grande de librerías de código abierto en el mundo.
- Node.js en español
- Instalación
- Tipos de Versiones
- LTS - Long Term Support
- Current
- Tipos de Instalación
- Stand Alone
- Node Version Manager
- Tipos de Versiones
- Pila de Procesos (Requests & Response)
- Pila de Subprocesos (Async Requests)
- Cola de Callbacks (Async Responses)
Comensales VS Meseros
Establece la capacidad que tienen las operaciones del flujo de un programa para devolver el control de la ejecución al mismo (programa) antes de que hayan terminado sus procesos, mientras siguen operando en segundo plano (procesos u operaciones no bloqueantes).
Esto agiliza el proceso de ejecución y permite aumentar la escalabilidad, pero complica el razonamiento sobre el programa.
Mecanismos asíncronos en JavaScript:
Es el gestor de paquetes de Node.js... y de todo JavaScript.
$ > npm init //Con asistente
$ > npm init -y //Sin asistente
Es el archivo de configuración de un proyecto de node.js.
- Dependencia de proyecto
- Dependencia de desarrollo
- Dependencia global
Instalando un paquete:
$ > npm install [package]
$ > npm install [package]@3.4.12 // Versión específica
$ > npm i [package] //shortcut
Como dependencia de proyecto:
$ > npm install [package] //sin flag
$ > npm install [package] --save //con flag
$ > npm install [package] -S //shortcut
Como dependencia de desarrollo:
$ > npm install [package] --save-dev //con flag
$ > npm install [package] -D //shortcut
Como dependencia global:
$ > npm install [package] --global //con flag
$ > npm install [package] -g //shortcut
Instalando múltiples paquetes de forma simultanea:
$ > npm install [package1] [package2] [package3] --flag
Desinstalando paquetes:
$ > npm uninstall [package]
$ > npm uninstall [package]@3.4.12 // Versión específica
$ > npm un [package] //shortcut
$ > npm un [package] --save
$ > npm un [package] --save-dev
$ > npm un [package] --global
Cuando un proyecto tiene registradas sus dependencias en el package.json se pueden instalar simplemente con el comando:
$ > npm install
Podemos importar y exportar módulos en Node de 2 formas:
- CommonJS ( estándar y nativa )
- Módulos +ES6 ( se requiere usar Babel )
CommonJS:
//exportar
module.exports = myModule
//importar
const myModule = require('./myModule')
Módulos +ES6:
//exportar
export const myModule
//importar
import myModule from './myModule'
Podemos ejecutar comandos desde la cli mediante la definición de scripts en el archivo package.json.
"scripts": {
"sass": "node-sass -o ./dist/ ./src/",
"dev-server": "browser-sync start --server --files public",
"start": "nodemon app.js"
}
$ > npm run sass
$ > npm run dev-server
$ > npm start
npm start no necesita especificar la palabra 'run' para ejecutarse. Generalmente es el script estandar para iniciar un proyecto.