NPM (node package manager) viene incorporado en NodeJS, es decir, al descargar y instalar nodejs se instalará también npm automáticamente. node se utiliza para ejecutar código javascript fuera del navegador, esto me permite iniciar mis aplicaciones. npm es se gestor de paquetes y librerías.
Una vez instalado nodejs abriremos un terminar o consola e ejecutaremos los siguientes comandos:
1$ node -v 2v16.13.2
nota: la version observada es al momento de realizar este documento.
1 $ npm -v 2 8.1.2
nota: la version observada es al momento de realizar este documento.
Esta herramienta funciona de dos formas:
Para iniciar un proyecto con npm, primero debemos crear una carpeta donde queramos por ejemplo "test-npm" y abrirla con el terminal luego podremos hacerlo de dos formas la primera es ejecutando el siguiente comando:
$ npm init
Una vez ejecutado en el terminal o consola procederemos a seguir los pasos e ir contestando las preguntas que iran apareciendo. la segunda es ejecutando el siguiente comando:
$ npm init -y
Esta es una forma resumida de autogenerar una archivo llamado package.json el cual sera donde se guardara toda la configuracion de nuestro proyecto y las librerias que vayamos a utilizar en el mismo. el resultado obtenido sera el siguiente:
1{ 2 "name": "curso-nodejs-4geeks", 3 "version": "1.0.0", 4 "description": "", 5 "main": "index.js", 6 "scripts": { 7 "test": "echo \"Error: no test specified\" && exit 1" 8 }, 9 "keywords": [], 10 "author": "", 11 "license": "ISC", 12}
Para instalar una libreria en nuestro proyecto podemos hacerlo ejecutando el siguiente comando en la terminal:
1$ npm install paquete --save 2$ npm i paquete --save 3 4$ npm install paquete --save-dev 5$ npm i paquete --save-dev
Siendo "paquete" el nombre de la libreria a instalar por ejemplo:
1$ npm install bootstrap --save
Ejemplo de una archivo package.json con dependencias tanto para produccion como para desarrollo:
1{ 2 "name": "curso-nodejs-4geeks", 3 "version": "1.0.0", 4 "description": "", 5 "main": "index.js", 6 "scripts": { 7 "test": "echo \"Error: no test specified\" && exit 1" 8 }, 9 "dependencies": { 10 "bootstrap": "^5.1.3" 11 }, 12 "devDependencies": { 13 "nodemon": "^2.0.15" 14 }, 15 "keywords": [], 16 "author": "", 17 "license": "ISC", 18}