En aquest tema, aprendrem com compilar el codi TypeScript a JavaScript, que és el llenguatge que els navegadors poden entendre i executar. La compilació és un pas crucial en el desenvolupament amb TypeScript, ja que converteix el codi TypeScript en codi JavaScript.

  1. Instal·lació de TypeScript

Abans de començar a compilar, assegura't que tens TypeScript instal·lat. Pots instal·lar TypeScript globalment utilitzant npm (Node Package Manager):

npm install -g typescript

Per verificar que TypeScript s'ha instal·lat correctament, pots executar:

tsc --version

  1. Compilació Bàsica

El compilador de TypeScript (tsc) és l'eina que utilitzarem per convertir els fitxers .ts en fitxers .js. Suposem que tenim un fitxer hello.ts amb el següent codi:

let message: string = "Hello, TypeScript!";
console.log(message);

Per compilar aquest fitxer, simplement executa:

tsc hello.ts

Això generarà un fitxer hello.js amb el següent contingut:

var message = "Hello, TypeScript!";
console.log(message);

  1. Configuració del Compilador amb tsconfig.json

Per a projectes més grans, és recomanable utilitzar un fitxer de configuració tsconfig.json per gestionar les opcions de compilació. Aquest fitxer permet especificar diversos paràmetres de configuració per al compilador.

Per crear un fitxer tsconfig.json bàsic, pots executar:

tsc --init

Això generarà un fitxer tsconfig.json amb una configuració predeterminada. Un exemple de tsconfig.json podria ser:

{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "strict": true,
    "esModuleInterop": true,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true
  },
  "include": ["src/**/*"],
  "exclude": ["node_modules", "**/*.spec.ts"]
}

Explicació de les Opcions Principals

  • target: Especifica la versió de JavaScript a la qual es compilarà el codi TypeScript. En aquest cas, es5.
  • module: Defineix el sistema de mòduls que s'utilitzarà. commonjs és el sistema de mòduls utilitzat per Node.js.
  • strict: Activa totes les comprovacions estrictes de tipus.
  • esModuleInterop: Permet la interoperabilitat amb mòduls ES.
  • skipLibCheck: Omple les comprovacions de tipus en fitxers de definició de tipus.
  • forceConsistentCasingInFileNames: Assegura que els noms de fitxers siguin consistents en majúscules i minúscules.

Incloure i Excloure Fitxers

  • include: Especifica els fitxers i directoris que s'inclouran en la compilació.
  • exclude: Especifica els fitxers i directoris que s'exclouran de la compilació.

  1. Compilació Incremental

TypeScript també suporta la compilació incremental, que només recompila els fitxers que han canviat des de l'última compilació. Això pot accelerar significativament el temps de compilació en projectes grans.

Per habilitar la compilació incremental, afegeix la següent opció al teu tsconfig.json:

{
  "compilerOptions": {
    "incremental": true
  }
}

  1. Compilació en Mode de Vigilància

Per a una experiència de desenvolupament més fluida, pots utilitzar el mode de vigilància (watch mode), que recompila automàticament els fitxers quan detecta canvis. Per activar el mode de vigilància, executa:

tsc -w

Exercici Pràctic

Exercici 1: Compilació Bàsica

  1. Crea un fitxer greet.ts amb el següent contingut:

    function greet(name: string): string {
        return `Hello, ${name}!`;
    }
    
    let user = "World";
    console.log(greet(user));
    
  2. Compila el fitxer utilitzant tsc greet.ts.

  3. Executa el fitxer JavaScript resultant (greet.js) amb Node.js:

    node greet.js
    

Solució

El fitxer greet.js generat hauria de ser:

function greet(name) {
    return "Hello, " + name + "!";
}
var user = "World";
console.log(greet(user));

I l'execució del fitxer hauria de mostrar:

Hello, World!

Conclusió

En aquesta secció, hem après com compilar codi TypeScript a JavaScript utilitzant el compilador tsc. Hem vist com configurar el compilador amb un fitxer tsconfig.json i com utilitzar opcions avançades com la compilació incremental i el mode de vigilància. Amb aquests coneixements, estàs preparat per començar a treballar amb projectes TypeScript de manera eficient. En el següent mòdul, explorarem com treballar amb diferents tipus en TypeScript.

© Copyright 2024. Tots els drets reservats