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:
Mètodes Principals del Mòdul Path
A continuació, es presenten alguns dels mètodes més utilitzats del mòdul path
:
path.basename()
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
path.dirname()
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
path.extname()
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
path.join()
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
path.resolve()
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
- 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