Hvordan lage og bruke TypeScript-moduler

TypeScript-moduler tilbyr en strukturert tilnærming til å organisere og administrere kode. Moduler muliggjør innkapsling av kode i separate filer, noe som forbedrer vedlikeholdbarhet, gjenbrukbarhet og testbarhet. Denne veiledningen forklarer prosessen med å lage og bruke TypeScript-moduler.

Hva er TypeScript-moduler?

TypeScript-moduler er individuelle filer som eksporterer og importerer kodeelementer som klasser, funksjoner og variabler. Ved å bruke moduler kan kode deles opp i håndterbare deler, noe som gir bedre kontroll over interaksjoner mellom ulike deler av koden.

Opprette en TypeScript-modul

For å lage en TypeScript-modul, bør følgende trinn følges:

  1. Lag en TypeScript-fil: Start med å lage en ny `.ts`-fil for modulen, for eksempel `mathUtils.ts`.
  2. Definer og eksporter kode: Implementer funksjoner, klasser eller variabler i denne filen og bruk nøkkelordet export for å gjøre dem tilgjengelige for andre moduler.

Eksempel på en enkel modul:

// mathUtils.ts

export function add(a: number, b: number): number {
  return a + b;
}

export function subtract(a: number, b: number): number {
  return a - b;
}

I dette eksemplet er 'add' og 'subtract'-funksjonene definert og eksportert fra 'mathUtils.ts'-modulen.

Importere og bruke en TypeScript-modul

For å bruke koden fra en TypeScript-modul i en annen fil, må den importeres. Dette innebærer:

  1. Opprett en ny TypeScript-fil: Generer en fil der modulens kode skal brukes, for eksempel `app.ts`.
  2. Importer modulen: Bruk nøkkelordet import for å hente inn funksjoner, klasser eller variabler fra modulen.

Eksempel på import og bruk av funksjonene "legg til" og "trekk fra":

// app.ts

import { add, subtract } from './mathUtils';

const sum = add(5, 3);
const difference = subtract(5, 3);

console.log(`Sum: ${sum}`);
console.log(`Difference: ${difference}`);

I dette eksemplet importeres «add» og «subtract»-funksjonene fra «mathUtils»-modulen og brukes i «app.ts»-filen.

Standard og navngitte eksporter

TypeScript-moduler støtter både standard og navngitte eksporter. Her er en kort oversikt:

  • Standardeksporter: En enkelt verdi kan eksporteres som standardeksport fra en modul ved å bruke export default.
  • Navngitte eksporter: Flere verdier kan eksporteres fra en modul ved å bruke navngitte eksporter med nøkkelordet export.

Eksempel som viser begge typer eksport:

// shapes.ts

export default class Circle {
  constructor(public radius: number) {}
  
  area(): number {
    return Math.PI * this.radius ** 2;
  }
}

export function getCircleInfo(radius: number): string {
  const circle = new Circle(radius);
  return `A circle with radius ${radius} has an area of ${circle.area()}`;
}

I dette eksemplet eksporteres `Circle` som standard eksport, mens `getCircleInfo` er en navngitt eksport.

Organisering av moduler i et prosjekt

For større prosjekter med mange moduler blir organisering avgjørende. Vurder følgende tips:

  • Katalogstruktur: Grupper relaterte moduler i kataloger som `modeller/`, `tjenester/` og `utils/`.
  • Indeksfiler: Bruk `index.ts`-filer i kataloger for å samle og re-eksportere moduler, noe som forenkler import over hele prosjektet.

Eksempel på katalogstruktur:

project/
│
├── src/
│   ├── models/
│   │   ├── index.ts
│   │   └── user.ts
│   └── app.ts

Konklusjon

TypeScript-moduler er en nøkkelfunksjon for å organisere og administrere kode. Ved å lage og bruke moduler kan kode holdes modulær, vedlikeholdbar og skalerbar. Å forstå hvordan du eksporterer og importerer kode, samt hvordan du strukturerer et prosjekt, forbedrer effektiviteten til TypeScript-utvikling.