"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Qué es Nodejs?

¿Qué es Nodejs?

Publicado el 2024-08-01
Navegar:914

What is Nodejs

Nodejs es un tiempo de ejecución de JavaScript. Esto significa que nodejs es un programa que te permite ejecutar JavaScript fuera del navegador. Como resultado, se pueden desarrollar aplicaciones backend utilizando nodejs. Ahora bien, esto no se limita al backend. Podemos crear aplicaciones de escritorio, IoT y aplicaciones en la nube, por mencionar algunas. Nodejs es multiplataforma. El programa en sí ejecuta Linux, Windows y macOS.

¿Por qué debería uno usar Nodejs?

Nodejs viene con algunas ventajas que incluyen, entre otras:

  • E/S sin bloqueo
  • Asincrónico
  • Escalable
  • Conducción de eventos
  • tiene baja latencia
  • tiene subprocesos
  • se puede utilizar en todas partes y en cualquier lugar
  • tener una gran comunidad

Como dice el refrán, los retornos inmediatos significan inconvenientes a largo plazo. La desventaja aquí es javascript (por cierto, me encanta javascript) y, a veces, no diseñar el sistema que deseas construir teniendo en cuenta la escalabilidad. Nuevamente, no es Nodejs sino las herramientas y los humanos los que usan Nodejs.

Puedes leer más sobre nodejs aquí

Instalación

La gente de Nodejs es inteligente, respeta eso. Nos facilitaron la instalación a ti y a mí. Las personas sin conocimientos técnicos pueden configurar Nodejs y empezar a escribir código. Proporcionaron opciones donde se puede usar:

  • un administrador de paquetes
  • un instalador prediseñado
  • un binario prediseñado
  • e instalación construyendo el código fuente

Entre estos, los tres primeros son amigables. Así que elige cualquiera de ellos. Vayamos a download-nodejs y "dejemos un nodejs".

A partir de este momento, la versión actual del nodo es 22 y LTS (tiene soporte a largo plazo) es 20.

Estoy en una máquina Linux, así que continuaré con la instalación con nvm (administrador de versiones de Node). Esto nos da la sensación de que podemos tener varias versiones de nodejs. Esto también funcionará de inmediato para macOS.

# installs nvm (Node Version Manager)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

# download and install Node.js (you may need to restart the terminal)
nvm install 20

# verifies the right Node.js version is in the environment
node -v # should print `v20.15.1`

# verifies the right npm version is in the environment
npm -v # should print `10.7.0`

Este es el mismo script en la plataforma nodejs (sitio web). Por lo tanto, no debería haber ningún problema al ejecutar estos comandos.

Para Windows, algo similar será

# installs fnm (Fast Node Manager)
winget install Schniz.fnm

# download and install Node.js
fnm use --install-if-missing 20

# verifies the right Node.js version is in the environment
node -v # should print `v20.15.1`

# verifies the right npm version is in the environment
npm -v # should print `10.7.0`

O simplemente descargue la instalación prediseñada, el instalador precompilado de nodo. Al final del día, debería poder ejecutar los dos últimos comandos para verificar sus instalaciones.

# verifies the right Node.js version is in the environment
node -v # should print `v20.15.1`

# verifies the right npm version is in the environment
npm -v # should print `10.7.0`

NVM

nvm no era una opción para Windows durante la instalación, pero se puede instalar aquí, y saber un poco sobre él será educativo.

Enumeramos todas las demás versiones de nodejs que tenemos, usando el comando nvm list

username@computer-name:~$ nvm list
->     v18.18.0
default -> 18.18.0 (-> v18.18.0)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v18.18.0) (default)
stable -> 18.18 (-> v18.18.0) (default)
lts/* -> lts/hydrogen (-> v18.18.0)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.12 (-> N/A)
lts/fermium -> v14.21.3 (-> N/A)
lts/gallium -> v16.20.2 (-> N/A)
lts/hydrogen -> v18.18.0

De lo anterior, podemos decir que v18.18.0 es el nodejs que estoy ejecutando.

Podemos instalar alguna otra versión como la 20 LTS, usando nvm install 20

username@computer-name:~$ nvm install 20
Downloading and installing node v20.15.1...
Downloading https://nodejs.org/dist/v20.15.1/node-v20.15.1-linux-x64.tar.xz...
######################################################################### 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v20.15.1 (npm v10.7.0)

Esto cambió automáticamente a v20.15.1. Cuál es el último LTS.

Ahora puedo cambiar a nuestra versión de nodo deseada mediante nvm use 18

username@computer-name:~$ nvm use 18
Now using node v18.18.0 (npm v10.8.2)
username@computer-name:~$
username@computer-name:~$ node -v
v18.18.0

Y eso será todo en nvm

MNP

npm es un administrador de paquetes de nodos. Si te preguntas qué es un paquete, no te estreses. Un paquete es lo mismo que una biblioteca. Algunos fragmentos de código o programas escritos por otra persona pueden usarse en nuestro programa para hacer algo. Entonces un paquete está destinado a resolver un problema y todo eso. npm y otros administradores de paquetes de nodos como Yarn, pnpm, bun y otros nos ayudan a administrar los paquetes que instalamos para nuestro proyecto. Aquí nos centraremos únicamente en npm.

Para iniciar un proyecto de nodejs (no solo javascript), necesitamos usar paquetes de nodos. Quiero decir, hay ocasiones en las que desarrollamos un programa completo sin depender de bibliotecas de terceros (programas que no escribimos ni vinieron con Nodejs).

Podemos crear una aplicación nodejs creando un archivo node packege.json con el comando npm init. Haga npm init --ayuda a leer más sobre npm init. Generalmente es mejor iniciar un programa de nodo en un entorno nuevo (carpeta). Entonces crearemos uno y lo llamaremos helloworld. Usaré la terminal.

username@computer-name:~$ mkdir helloworld
username@computer-name:~$ cd helloworld/
username@computer-name:~/helloworld$ npm init
This utility will walk you through creating a package.json file.
It only covers the most common items and tries to guess sensible defaults.

See `npm help init` for definitive documentation on these fields
and exactly what they do.

Use `npm install ` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.
package name: (helloworld) 
version: (1.0.0) 
description: 
entry point: (index.js) 
test command: 
git repository: 
keywords: 
author: 
license: (ISC) 
About to write to /home/username/helloworld/package.json:

{
  "name": "helloworld",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
 },
  "author": "",
  "license": "ISC",
  "description": ""
}

Is this OK? (yes) 

username@computer-name:~/helloworld$ 
  • Creé una carpeta llamada mkdir helloworld
  • Cambié a la carpeta helloworld, cd helloworld
  • Luego inicializo el nodo, npm init

Será como un asistente de instalación, guiándote por los pasos de configuración. Tenga en cuenta que puede actualizarlo más tarde. Sólo tienes que darle a ENTER, ENTER hasta que finalice todo el proceso. Cuando abres la carpeta helloworld en un explorador de archivos, verás un nuevo archivo, package.json, con un contenido similar al resultado anterior.

{
  "name": "helloworld",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
 },
  "author": "",
  "license": "ISC",
  "description": ""
}

Esta configuración es intuitiva. Te dice el nombre del proyecto (o programa) que estamos a punto de crear. Utiliza el nombre de la carpeta principal como nombre del proyecto. Durante el proceso de inicialización del nodo (proyecto), podríamos haberle dado un nombre e incluso proporcionar valores a los otros campos. Aquí es donde estábamos presionando ENTER, ENTER,…

Otra forma de ejecutar esto sin presionar ENTER, ENTER,…, es hacer, npm init -y . -y, significa, sí, usa los valores predeterminados.

Principalmente, los paquetes de nodos están en npmjs.com. Digamos que queremos instalar la biblioteca expressjs. Así es como buscar express en npmjs. Los documentos le indicarán cómo instalarlo usando el comando npm i express.

username@computer-name:~/helloworld$ npm i express

added 64 packages, and audited 65 packages in 4s

12 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

i significa instalar. Lo escribes como npm install express. El package.json se actualizará con el paquete agregado.

{
  "name": "helloworld",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
 },
  "author": "",
  "license": "ISC",
  "description": "",
  "dependencies": {
    "express": "^4.19.2"
 }
}

Ahora tenemos una nueva dependencia.

Tenga en cuenta que no se creará ningún archivo o carpeta. Cuando hacemos ls

username@computer-name:~/helloworld$ ls
node_modules  package.json  package-lock.json
  • Tenemos node_modules, que es una carpeta que contiene las dependencias (paquetes) que usará nuestro programa.
  • También tenemos package-lock.json, que sirve como archivo de bloqueo, de ahí el nombre. Captura las versiones exactas del paquete que instalamos y usamos para crear nuestros programas. De esta manera, se pueden usar los mismos paquetes y sus versiones específicas todo el tiempo, ya que diferentes versiones del mismo paquete pueden comportarse de manera diferente.

De todos modos, podemos instalar paquetes de tres formas o más bien de entorno. Aquí es básicamente donde desea que se use el paquete.

  • global: Será accesible para todos los programas de nodo que tengas. Por lo general, instale paquetes globalmente cuando sean programas de propósito general, como utilidades de línea de comandos.
  • desarrollo: esto está destinado únicamente al desarrollo y no se utiliza en algunos servidores remotos, ya que el servidor remoto tendrá su forma de manejar el caso de uso de esa dependencia. Suelen ser bibliotecas de utilidades que funcionan con otras bibliotecas para lograr un propósito. Estos pueden incluir, entre otros, eslint, prettier, dotenv, etc.
  • producción: Este es un paquete del que nuestra aplicación depende principalmente para funcionar. Como expreso.

Podemos hacer,

  • npm i -g nombres-paquetes... para instalar globalmente un paquete
  • npm i --global package-names ... para instalar globalmente un paquete
  • npm i -S nombres-paquetes... para instalar un paquete (para producción)
  • npm i --save package-names ... para instalar un paquete (para producción)
  • npm i -D nombres-paquetes... para instalar un paquete (para el desarrollo, no lo necesitará para ejecutar nuestra aplicación)
  • npm i --save-dev package-names... para instalar un paquete (para el desarrollo, no lo necesitará para ejecutar nuestra aplicación)
  • npm uninstall nombres-paquetes... para eliminar o desinstalar el paquete

Básicamente, esto es todo lo que necesitaremos para administrar nuestros paquetes.

Declaración de liberación Este artículo se reproduce en: https://dev.to/otumianempire/what-is-nodejs-4h10?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3