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:

  1. Executa el teu script amb l'opció inspect:

    node --inspect-brk script.js
    
  2. Obre Google Chrome i navega a chrome://inspect.

  3. Fes clic a "Open dedicated DevTools for Node".

  4. 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:

  1. Obre el teu projecte en VS Code.

  2. 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"
            }
        ]
    }
    
  3. Estableix punts de ruptura fent clic a la vora esquerra del codi.

  4. 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:

  1. Executa el teu script amb l'opció inspect en el servidor:

    node --inspect=0.0.0.0:9229 script.js
    
  2. 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 clau debugger 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

  1. Escriu una funció que calculi el factorial d'un nombre.
  2. 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

  1. Crea un projecte en VS Code amb una funció que tingui un error.
  2. 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

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