nodejs

el logo de node

PROPÓSITO

  • conocer nodejs que es un entorno de ejecución para JavaScript construido con el motor de JavaScript V8

VERSIÓN INSTALADA

  • node --version
  • 2022-04-06 09:05:42
    • v14.16.0
  • 2020-04-17 06:37:51
    • v12.13.1
  • 2017-12-18 23:45:52
    • v6.11.2
    • v6.10.2
    • v4.5.0

TUTORIAL

NPM

  • es el gestor de paquetes de node
el logo de npm

INSTALACIÓN

  • se descarga desde la página de node

  • en el pc de la dga con Windows 10 instalo la versión de node 14.16.0

    • que lleva la versión de npm 6.14.11
    • 2021-02-24 07:56:15
  • en el HP blanco instalo node-v12.13.1-x64.msi 2019-12-14 19:11:26

    • es la versión 6.12.1
  • con la opción -g se instala en el directorio C:\Users\javier\AppData\Roaming\npm\node_modules\ y no en el directorio raíz del proyecto en el que se lanza el comando install

  • se instala conjuntamente al instalar node.js

  • el 2020-03-17 es adquirida por Github que es parte de Microsoft

  • npm Wikipedia

  • npm

  • npm es el gestor de paquetes para el entorno de JavaScript Node.js.

  • como instalar npm en ubuntu 16.04

UPDATE

  • para actualizar node tienes que descargarte el msi desde la página web de node e instalarlo

  • npm update npm -g

  • nvm ls

  • o en windows descargar la última versión de https://nodejs.org/en/ e instalarla

VERSION DE NPM

  • npm --version

  • 2020-04-17 06:32:10

    • 6.12.1
  • 2017-12-18 23:42:18

    • 5.6.0
  • 3.10.10

  • 2.15.9

  • para usar este gestor de paquetes para node.js se usa:

    • npm install
      • que instala lo que esta en el archivo package.json
    • npm run build
      • que genera el directorio para desplegar

COMANDOS

  • npm i -D <nombre_paquete>
    • instala el paquete y lo añade a la parte de dev dependencies del archivo package.json
  • los scripts se pueden poner en el archivo package.json
    • para lanzar ese script se usa npm run <nombre del script>
  • pero hay otros que deben de estar definidos por defecto por ejemplo
    • para lanzar el script test se usa npm t sin run

PAQUETES

SERVE

  • serve sirve para servir html estático o los sitio generados por hugo o jekyll por ejemplo
  • npm i -D serve
  • hugo
  • npx serve public
   ┌────────────────────────────────────────────────┐
   │                                                │
   │   Serving!                                     │
   │                                                │
   │   - Local:            http://localhost:5000    │
   │   - On Your Network:  http://1.43.10.31:5000   │
   │                                                │
   │   Copied local address to clipboard!           │
   │                                                │
   └────────────────────────────────────────────────┘
npx server
npx: instaló 78 en 7.21s

   ┌──────────────────────────────────────────────────┐
   │                                                  │
   │   Serving!                                       │
   │                                                  │
   │   - Local:            http://localhost:5000      │
   │   - On Your Network:  http://192.168.1.37:5000   │
   │                                                  │
   │   Copied local address to clipboard!             │
   │                                                  │
   └──────────────────────────────────────────────────┘

BROWSERSYNC

  • browser-sync --version
  • 2.17.6
  • browser-sync start --server --directory --files "**/*"
    • lanza el servidor con el navegador en el directorio donde se lanza el comando para que sincronice los archivos de cualquier directorio ** y cualquier archivo /*
    • se abre una ventana del navegador con un servidor
    • http://localhost:3000/ en esta dirección se ve lo que sirve
    • http://localhost:3001/ se puede configurar el servidor

NPX

NVM - GESTOR DE VERSIONES DE NODE

  • a veces un repositorio que usa node al instalar las dependencias da este error
C:\proyectos\cypress\cypress-example-recipes>npm install
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'cypress-example-recipes@0.0.0',  
npm WARN EBADENGINE   required: { node: '11.6.0' },
npm WARN EBADENGINE   current: { node: 'v16.13.1', npm: '8.1.2' }
npm WARN EBADENGINE }
  • indica que la versión de node no es la correcta y para eso es interesante esta utilidad

  • nvm para gestioner las versiones de node que voy a tener

    • se descarga nvm-setup.zip
    • al instalar detecta si hay alguna versión de node instalada y pide permiso para gestionarla
    • hay que abrir la consola de nuevo para que los comandos funcionen
  • nvm list – te dice las versiones de node instaladas

C:\inicio>nvm list

  * 14.16.0 (Currently using 64-bit executable)
  • nvm install 11.6.0 – para instalar una nueva versión por ejemplo para el repositorio cypress-examples-recipe que usa esa versión exacta “node”: “11.6.0”
C:\inicio>nvm install 11.6.0
Downloading node.js version 11.6.0 (64-bit)...
Complete
Creating C:\Users\jiranzo\AppData\Roaming\nvm\temp

Downloading npm version 6.5.0-next.0... Complete
Installing npm v6.5.0-next.0...

Installation complete. If you want to use this version, type

nvm use 11.6.0

C:\inicio>nvm list

  * 14.16.0 (Currently using 64-bit executable)
    11.6.0
  • nvm use 11.6.0 – para indicar que se usa una versión de node. Hay que hacerlo como administrador
# si no eres administrador da este error
C:\inicio>nvm use 11.6.0
exit status 5: Acceso denegado.

exit status 1: No se puede crear un archivo que ya existe.
# como administrador
C:\inicio>nvm use 11.6.0
Now using node v11.6.0 (64-bit)

C:\inicio>
  • para usar playwrigt es necesario subir a versiones superiores a la 12
You are running Node.js 11.6.0.
Playwright requires Node.js 12 or higher.
Please update your version of Node.js.
  • se soluciona de esta manera
# como adminstrador

C:\accesos>nvm list

    16.13.1
  * 11.6.0 (Currently using 64-bit executable)
C:\accesos>nvm use 16.13.1
Now using node v16.13.1 (64-bit)
C:\accesos>nvm list

  * 16.13.1 (Currently using 64-bit executable)
    11.6.0
  • si se lanza el test desde visual no es necesario reiniciar el programa para que use la nueva versión de node

TUTORIALES

ÚTILES