En aquest tema, aprendrem com crear i publicar paquets a NPM (Node Package Manager). Els paquets són una manera excel·lent de compartir codi reutilitzable amb la comunitat o dins de la teva organització. Aquest procés inclou la creació del paquet, la configuració del fitxer package.json
, la publicació a NPM i la gestió de versions.
- Crear un Nou Paquet
1.1. Configuració Inicial
-
Crea una nova carpeta per al teu paquet:
mkdir my-awesome-package cd my-awesome-package
-
Inicialitza un nou projecte Node.js:
npm init
Aquest comandament et guiarà a través d'una sèrie de preguntes per crear el fitxer
package.json
. Pots acceptar els valors per defecte o personalitzar-los segons les teves necessitats.
1.2. Estructura del Projecte
Organitza el teu projecte de manera que sigui fàcil de mantenir i utilitzar. Una estructura típica podria ser:
my-awesome-package/ ├── lib/ │ └── index.js ├── test/ │ └── index.test.js ├── .gitignore ├── package.json └── README.md
1.3. Escriure el Codi del Paquet
Crea el fitxer principal del teu paquet a lib/index.js
:
- Escriure Documentació
És important proporcionar una bona documentació perquè altres desenvolupadors puguin entendre com utilitzar el teu paquet. Crea un fitxer README.md
a l'arrel del teu projecte:
npm install my-awesome-package
const greet = require('my-awesome-package');
console.log(greet('World')); // Output: Hello, World!
- Publicar el Paquet a NPM
3.1. Crear un Compte a NPM
Si encara no tens un compte a NPM, crea'n un a npmjs.com.
3.2. Iniciar Sessió a NPM
Inicia sessió al teu compte de NPM des de la línia de comandaments:
3.3. Publicar el Paquet
Publica el teu paquet a NPM:
Si tot ha anat bé, el teu paquet estarà disponible a NPM i altres desenvolupadors podran instal·lar-lo utilitzant:
- Gestió de Versions
4.1. Versionat Semàntic
El versionat semàntic (SemVer) és una convenció per versionar paquets que utilitza el format MAJOR.MINOR.PATCH
. Aquí tens una breu explicació:
- MAJOR: Canvis incompatibles amb versions anteriors.
- MINOR: Noves funcionalitats que són compatibles amb versions anteriors.
- PATCH: Correccions d'errors que són compatibles amb versions anteriors.
4.2. Actualitzar la Versió
Per actualitzar la versió del teu paquet, pots utilitzar el comandament npm version
:
npm version patch # Per a una correcció d'errors npm version minor # Per a una nova funcionalitat npm version major # Per a canvis incompatibles
Després d'actualitzar la versió, publica el paquet de nou:
Exercicis Pràctics
Exercici 1: Crear i Publicar un Paquet Simple
- Crea un nou paquet que contingui una funció per sumar dos números.
- Escriu la documentació necessària.
- Publica el paquet a NPM.
Solució
-
Crea la carpeta i inicialitza el projecte:
mkdir sum-package cd sum-package npm init -y
-
Crea el fitxer
lib/index.js
:// lib/index.js function sum(a, b) { return a + b; } module.exports = sum;
-
Crea el fitxer
README.md
:# Sum Package A simple package to sum two numbers. ## Installation ```bash npm install sum-package
Usage
const sum = require('sum-package'); console.log(sum(2, 3)); // Output: 5
-
Publica el paquet:
npm login npm publish
Exercici 2: Actualitzar la Versió del Paquet
- Afegeix una nova funció per restar dos números al teu paquet.
- Actualitza la versió del paquet.
- Publica la nova versió a NPM.
Solució
-
Actualitza el fitxer
lib/index.js
:// lib/index.js function sum(a, b) { return a + b; } function subtract(a, b) { return a - b; } module.exports = { sum, subtract };
-
Actualitza la documentació a
README.md
:# Sum Package A simple package to sum and subtract two numbers. ## Installation ```bash npm install sum-package
Usage
const { sum, subtract } = require('sum-package'); console.log(sum(2, 3)); // Output: 5 console.log(subtract(5, 3)); // Output: 2
-
Actualitza la versió i publica:
npm version minor npm publish
Conclusió
En aquest tema, hem après com crear, documentar i publicar paquets a NPM. També hem vist com gestionar les versions dels nostres paquets utilitzant el versionat semàntic. Aquestes habilitats són essencials per compartir codi reutilitzable i col·laborar amb altres desenvolupadors.
Curs de Node.js
Mòdul 1: Introducció a Node.js
Mòdul 2: Conceptes Bàsics
Mòdul 3: Sistema de Fitxers i I/O
Mòdul 4: HTTP i Servidors Web
Mòdul 5: NPM i Gestió de Paquets
Mòdul 6: Framework Express.js
- Introducció a Express.js
- Configuració d'una Aplicació Express
- Middleware
- Routing en Express
- Gestió d'Errors
Mòdul 7: Bases de Dades i ORMs
- Introducció a les Bases de Dades
- Utilitzar MongoDB amb Mongoose
- Utilitzar Bases de Dades SQL amb Sequelize
- Operacions CRUD
Mòdul 8: Autenticació i Autorització
Mòdul 9: Proves i Depuració
- Introducció a les Proves
- Proves Unitàries amb Mocha i Chai
- Proves d'Integració
- Depuració d'Aplicacions Node.js
Mòdul 10: Temes Avançats
Mòdul 11: Desplegament i DevOps
- Variables d'Entorn
- Utilitzar PM2 per a la Gestió de Processos
- Desplegar a Heroku
- Integració i Desplegament Continu