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

  1. 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.
  2. 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.
  3. 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

  1. Crea un fitxer anomenat calculadora.js i defineix les funcions multiplicar i dividir.
  2. Exporta aquestes funcions utilitzant module.exports.
  3. Crea un fitxer anomenat app.js i importa el mòdul calculadora.js.
  4. Utilitza les funcions multiplicar i dividir en app.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

Mòdul 7: Bases de Dades i ORMs

Mòdul 8: Autenticació i Autorització

Mòdul 9: Proves i Depuració

Mòdul 10: Temes Avançats

Mòdul 11: Desplegament i DevOps

Mòdul 12: Projectes del Món Real

© Copyright 2024. Tots els drets reservats