En aquest tema, aprendrem sobre els mòduls en Node.js i com utilitzar la funció require()
per importar-los. Els mòduls són una part fonamental de Node.js, ja que permeten organitzar el codi en diferents fitxers i reutilitzar-lo fàcilment.
Què és un Mòdul?
Un mòdul en Node.js és un fitxer que conté codi JavaScript. Cada fitxer en Node.js és considerat un mòdul. Els mòduls poden exportar funcions, objectes o valors literals que poden ser importats en altres mòduls utilitzant la funció require()
.
Tipus de Mòduls
- Mòduls Propis (Built-in Modules): Node.js ve amb una sèrie de mòduls propis que es poden utilitzar sense necessitat d'instal·lar res addicional. Alguns exemples són
fs
(sistema de fitxers),http
(servidor HTTP),path
(manipulació de rutes de fitxers), etc. - Mòduls de Tercers: Aquests són mòduls creats per la comunitat i publicats a NPM (Node Package Manager). Es poden instal·lar i utilitzar en els projectes.
- Mòduls Propis del Projecte: Aquests són mòduls que creem nosaltres mateixos per organitzar el codi del nostre projecte.
Crear i Exportar un Mòdul
Per crear un mòdul, simplement escrivim el codi en un fitxer JavaScript i exportem les funcions o objectes que volem que siguin accessibles des d'altres mòduls.
Exemple: Crear un Mòdul
// fitxer: math.js // Definim una funció per sumar dos números function sumar(a, b) { return a + b; } // Definim una funció per restar dos números function restar(a, b) { return a - b; } // Exportem les funcions perquè puguin ser utilitzades en altres mòduls module.exports = { sumar, restar };
En aquest exemple, hem creat un mòdul math.js
que conté dues funcions: sumar
i restar
. Les hem exportat utilitzant module.exports
.
Importar un Mòdul amb require()
Per importar un mòdul en un altre fitxer, utilitzem la funció require()
. Aquesta funció carrega el mòdul i retorna l'objecte exportat.
Exemple: Importar un Mòdul
// fitxer: app.js // Importem el mòdul math.js const math = require('./math'); // Utilitzem les funcions del mòdul math const resultatSuma = math.sumar(5, 3); const resultatResta = math.restar(5, 3); console.log(`Resultat de la suma: ${resultatSuma}`); // Resultat de la suma: 8 console.log(`Resultat de la resta: ${resultatResta}`); // Resultat de la resta: 2
En aquest exemple, hem importat el mòdul math.js
utilitzant require('./math')
i hem utilitzat les funcions sumar
i restar
que hem exportat anteriorment.
Mòduls Propis de Node.js
Node.js ve amb una sèrie de mòduls propis que es poden utilitzar per realitzar diverses tasques. A continuació, es mostra com importar i utilitzar alguns d'aquests mòduls.
Exemple: Utilitzar el Mòdul fs
(Sistema de Fitxers)
// Importem el mòdul fs const fs = require('fs'); // Llegim el contingut d'un fitxer de manera síncrona const data = fs.readFileSync('example.txt', 'utf8'); console.log(data); // Escriu un contingut en un fitxer de manera síncrona fs.writeFileSync('example.txt', 'Hola, Node.js!');
En aquest exemple, hem utilitzat el mòdul fs
per llegir i escriure fitxers de manera síncrona.
Exercicis Pràctics
Exercici 1: Crear i Utilitzar un Mòdul
- Crea un fitxer anomenat
calculadora.js
i defineix les funcionsmultiplicar
idividir
. - Exporta aquestes funcions utilitzant
module.exports
. - Crea un fitxer anomenat
app.js
i importa el mòdulcalculadora.js
. - Utilitza les funcions
multiplicar
idividir
enapp.js
i mostra els resultats a la consola.
Solució
// fitxer: calculadora.js function multiplicar(a, b) { return a * b; } function dividir(a, b) { if (b === 0) { throw new Error('No es pot dividir per zero'); } return a / b; } module.exports = { multiplicar, dividir };
// fitxer: app.js const calculadora = require('./calculadora'); const resultatMultiplicacio = calculadora.multiplicar(6, 4); const resultatDivisio = calculadora.dividir(8, 2); console.log(`Resultat de la multiplicació: ${resultatMultiplicacio}`); // Resultat de la multiplicació: 24 console.log(`Resultat de la divisió: ${resultatDivisio}`); // Resultat de la divisió: 4
Resum
En aquesta secció, hem après què són els mòduls en Node.js i com utilitzar la funció require()
per importar-los. Hem vist com crear i exportar mòduls propis, així com utilitzar mòduls propis de Node.js com fs
. També hem practicat aquests conceptes amb un exercici pràctic. Ara estem preparats per avançar cap a temes més complexos en Node.js.
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