NodeJS

Entorno de ejecución de Javascript.

  • Con el motor V8 de Chrome, en C++.
  • Motor de alto rendimiento de Javascript y WebAssembly.
  • Orientado a eventos asíncronos, hilo único.

Gestores de paquetes

npm

npm init # -> package.json
npm install # instala las dependencias de package.json
			# npm ci es más rápido
npm run # ejecuta un script definido en package.json
npm start # ejecuta el script "start" de package.json
npm install --save-dev/-D

yarn

yarn utiliza el registro de paquetes de npm

npx

node package manager

npx create-react-app # = npm install create-react-app

package.json

$ cat package.json
{
  "name": "proj_node",
  "version": "1.0.0",
  "description": "",
  "main": "index.ts",
  "scripts": {
    "start": "ts-node index.ts",
	/*        ^^^ apunta al binario local, que desde node_modules
	   está en .bin/ts-node -> ts-node/dist/bin.js (16KB)
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "@types/node": "^16.9.2",
	// ^^^ para tener los tipos de las librerías (ej: http)
    "ts-node": "^10.2.1",
	// ^^^ evita que tengamos que hacer el build de ts a js
    "typescript": "^4.4.3"
	// ^^^ para transpilar
  }
}