En aquest mòdul, aprendrem a utilitzar el mòdul path de Node.js, que proporciona utilitats per treballar amb rutes de fitxers i directoris. Aquest mòdul és especialment útil per a la manipulació de rutes de fitxers de manera independent del sistema operatiu.

Continguts

Introducció al Mòdul Path

El mòdul path és un mòdul integrat de Node.js que proporciona una manera de treballar amb rutes de fitxers i directoris. És especialment útil per a la manipulació de rutes de fitxers de manera independent del sistema operatiu, ja que les rutes poden variar entre Windows, Linux i macOS.

Per utilitzar el mòdul path, primer l'hem d'importar:

const path = require('path');

Mètodes Principals del Mòdul Path

A continuació, es presenten alguns dels mètodes més utilitzats del mòdul path:

  1. path.basename()

Aquest mètode retorna la part final d'una ruta de fitxer. Per exemple:

const filePath = '/home/user/docs/file.txt';
const baseName = path.basename(filePath);
console.log(baseName); // Output: file.txt

  1. path.dirname()

Aquest mètode retorna el directori pare d'una ruta de fitxer. Per exemple:

const filePath = '/home/user/docs/file.txt';
const dirName = path.dirname(filePath);
console.log(dirName); // Output: /home/user/docs

  1. path.extname()

Aquest mètode retorna l'extensió d'un fitxer. Per exemple:

const filePath = '/home/user/docs/file.txt';
const extName = path.extname(filePath);
console.log(extName); // Output: .txt

  1. path.join()

Aquest mètode uneix diversos segments de ruta en una sola ruta normalitzada. Per exemple:

const joinedPath = path.join('/home', 'user', 'docs', 'file.txt');
console.log(joinedPath); // Output: /home/user/docs/file.txt

  1. path.resolve()

Aquest mètode resol una seqüència de segments de ruta en una ruta absoluta. Per exemple:

const resolvedPath = path.resolve('docs', 'file.txt');
console.log(resolvedPath); // Output: /current/working/directory/docs/file.txt

Exemples Pràctics

Exemple 1: Obtenir el Nom del Fitxer i l'Extensió

const filePath = '/home/user/docs/file.txt';

const baseName = path.basename(filePath);
const extName = path.extname(filePath);

console.log(`Nom del fitxer: ${baseName}`); // Output: Nom del fitxer: file.txt
console.log(`Extensió del fitxer: ${extName}`); // Output: Extensió del fitxer: .txt

Exemple 2: Crear una Ruta Absoluta

const relativePath = 'docs/file.txt';
const absolutePath = path.resolve(relativePath);

console.log(`Ruta absoluta: ${absolutePath}`); // Output: Ruta absoluta: /current/working/directory/docs/file.txt

Exemple 3: Unir Segments de Ruta

const segment1 = '/home';
const segment2 = 'user';
const segment3 = 'docs';
const segment4 = 'file.txt';

const fullPath = path.join(segment1, segment2, segment3, segment4);

console.log(`Ruta completa: ${fullPath}`); // Output: Ruta completa: /home/user/docs/file.txt

Exercicis Pràctics

Exercici 1: Obtenir el Directori Pare

Escriu una funció que prengui una ruta de fitxer com a entrada i retorni el directori pare.

function getParentDirectory(filePath) {
    // Escriu el teu codi aquí
}

// Prova la funció
const filePath = '/home/user/docs/file.txt';
console.log(getParentDirectory(filePath)); // Output: /home/user/docs

Solució

function getParentDirectory(filePath) {
    return path.dirname(filePath);
}

// Prova la funció
const filePath = '/home/user/docs/file.txt';
console.log(getParentDirectory(filePath)); // Output: /home/user/docs

Exercici 2: Normalitzar una Ruta

Escriu una funció que prengui una ruta amb segments redundants (com .. o .) i retorni la ruta normalitzada.

function normalizePath(filePath) {
    // Escriu el teu codi aquí
}

// Prova la funció
const filePath = '/home/user/../docs/./file.txt';
console.log(normalizePath(filePath)); // Output: /home/docs/file.txt

Solució

function normalizePath(filePath) {
    return path.normalize(filePath);
}

// Prova la funció
const filePath = '/home/user/../docs/./file.txt';
console.log(normalizePath(filePath)); // Output: /home/docs/file.txt

Conclusió

En aquest mòdul, hem après a utilitzar el mòdul path de Node.js per treballar amb rutes de fitxers i directoris. Hem vist com utilitzar alguns dels mètodes més comuns, com basename(), dirname(), extname(), join() i resolve(). També hem practicat amb alguns exemples i exercicis per reforçar els conceptes apresos. Ara estem preparats per aplicar aquests coneixements en projectes reals.

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