La depuració és una part essencial del desenvolupament de programari, ja que permet identificar i corregir errors en el codi. En aquest tema, aprendrem com depurar aplicacions Node.js utilitzant diverses eines i tècniques.
Continguts
Introducció a la Depuració
La depuració és el procés de trobar i resoldre errors o problemes en el codi. En Node.js, hi ha diverses eines i tècniques que podem utilitzar per depurar aplicacions de manera eficient.
Utilitzar console.log
Una de les tècniques més senzilles i utilitzades per depurar és l'ús de console.log
. Aquesta tècnica consisteix a imprimir missatges o valors de variables en la consola per entendre el flux del programa i identificar on es produeixen els errors.
Exemple:
function suma(a, b) { console.log('a:', a); console.log('b:', b); return a + b; } const resultat = suma(5, 3); console.log('Resultat:', resultat);
Desavantatges:
- Pot ser difícil de seguir en aplicacions grans.
- No és pràctic per a depuració avançada.
Depurador Integrat de Node.js
Node.js inclou un depurador integrat que permet executar el codi pas a pas, establir punts de ruptura (breakpoints) i inspeccionar l'estat de les variables.
Com Utilitzar el Depurador Integrat:
-
Executa el teu script amb l'opció
inspect
:node --inspect-brk script.js
-
Obre Google Chrome i navega a
chrome://inspect
. -
Fes clic a "Open dedicated DevTools for Node".
-
Ara pots establir punts de ruptura, executar el codi pas a pas i inspeccionar variables.
Exemple:
function suma(a, b) { return a + b; } const resultat = suma(5, 3); console.log('Resultat:', resultat);
Depuració amb Visual Studio Code
Visual Studio Code (VS Code) és un editor de codi que inclou eines de depuració integrades per a Node.js.
Configuració de la Depuració en VS Code:
-
Obre el teu projecte en VS Code.
-
Crea un fitxer
launch.json
en la carpeta.vscode
:{ "version": "0.2.0", "configurations": [ { "type": "node", "request": "launch", "name": "Llançar Programa", "skipFiles": ["<node_internals>/**"], "program": "${workspaceFolder}/script.js" } ] }
-
Estableix punts de ruptura fent clic a la vora esquerra del codi.
-
Premeu
F5
per iniciar la depuració.
Exemple:
function suma(a, b) { return a + b; } const resultat = suma(5, 3); console.log('Resultat:', resultat);
Depuració Remota
La depuració remota és útil quan l'aplicació s'executa en un entorn diferent, com un servidor de producció.
Com Configurar la Depuració Remota:
-
Executa el teu script amb l'opció
inspect
en el servidor:node --inspect=0.0.0.0:9229 script.js
-
Configura el teu editor per connectar-se a la màquina remota.
Exemple de Configuració en VS Code:
{ "version": "0.2.0", "configurations": [ { "type": "node", "request": "attach", "name": "Adjuntar a Programa Remot", "address": "servidor.example.com", "port": 9229, "localRoot": "${workspaceFolder}", "remoteRoot": "/ruta/al/teu/projecte" } ] }
Consells i Trucs
- Utilitza
console.error
per a errors: Això ajuda a diferenciar els missatges d'error dels altres missatges de depuració. - Utilitza
debugger
en el codi: Pots inserir la paraula claudebugger
en el teu codi per establir un punt de ruptura automàticament. - Revisa les dependències: A vegades, els errors poden provenir de les biblioteques de tercers. Assegura't que totes les dependències estiguin actualitzades.
Exercicis Pràctics
Exercici 1: Depuració amb console.log
- Escriu una funció que calculi el factorial d'un nombre.
- Utilitza
console.log
per imprimir els valors intermedis i trobar un error en la funció.
Solució:
function factorial(n) { if (n === 0) { return 1; } console.log('n:', n); return n * factorial(n - 1); } const resultat = factorial(5); console.log('Resultat:', resultat);
Exercici 2: Depuració amb VS Code
- Crea un projecte en VS Code amb una funció que tingui un error.
- Configura la depuració en VS Code i utilitza punts de ruptura per trobar i corregir l'error.
Solució:
function suma(a, b) { return a + b; } const resultat = suma(5, '3'); // Error: suma de nombre i cadena console.log('Resultat:', resultat);
Conclusió
La depuració és una habilitat essencial per a qualsevol desenvolupador. En aquest tema, hem après diverses tècniques i eines per depurar aplicacions Node.js, des de l'ús de console.log
fins a la depuració avançada amb Visual Studio Code i la depuració remota. Practica aquestes tècniques per millorar la teva capacitat de trobar i corregir errors en el teu codi.
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