Hur man skapar och använder TypeScript-moduler

TypeScript-moduler erbjuder ett strukturerat tillvägagångssätt för att organisera och hantera kod. Moduler möjliggör inkapsling av kod i separata filer, vilket förbättrar underhållbarheten, återanvändbarheten och testbarheten. Den här guiden förklarar processen för att skapa och använda TypeScript-moduler.

Vad är TypeScript-moduler?

TypeScript-moduler är individuella filer som exporterar och importerar kodelement som klasser, funktioner och variabler. Genom att använda moduler kan koden delas upp i hanterbara delar, vilket underlättar bättre kontroll över interaktioner mellan olika delar av koden.

Skapa en TypeScript-modul

För att skapa en TypeScript-modul ska följande steg följas:

  1. Skapa en TypeScript-fil: Börja med att skapa en ny `.ts`-fil för modulen, till exempel `mathUtils.ts`.
  2. Definiera och exportera kod: Implementera funktioner, klasser eller variabler i den här filen och använd nyckelordet export för att göra dem tillgängliga för andra moduler.

Exempel 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 det här exemplet definieras "add" och "subtrahera" funktionerna och exporteras från modulen "mathUtils.ts".

Importera och använda en TypeScript-modul

För att kunna använda koden från en TypeScript-modul i en annan fil måste den importeras. Detta innebär:

  1. Skapa en ny TypeScript-fil: Skapa en fil där modulens kod kommer att användas, till exempel `app.ts`.
  2. Importera modulen: Använd nyckelordet import för att ta in funktioner, klasser eller variabler från modulen.

Exempel på att importera och använda funktionerna "lägg till" och "subtrahera":

// 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 det här exemplet importeras funktionerna "add" och "subtrahera" från "mathUtils"-modulen och används i filen "app.ts".

Standard och namngivna exporter

TypeScript-moduler stöder både standard- och namngivna exporter. Här är en kort översikt:

  • Standardexporter: Ett enstaka värde kan exporteras som standardexport från en modul med export default.
  • Namngivna exporter: Flera värden kan exporteras från en modul med namngivna exporter med nyckelordet export.

Exempel som visar båda typerna av export:

// 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 det här exemplet exporteras `Circle` som standardexport, medan `getCircleInfo` är en namngiven export.

Organisera moduler i ett projekt

För större projekt med många moduler blir organisationen avgörande. Tänk på följande tips:

  • Katalogstruktur: Gruppera relaterade moduler i kataloger som `models/`, `services/` och `utils/`.
  • Indexfiler: Använd `index.ts`-filer i kataloger för att aggregera och återexportera moduler, vilket förenklar importen över hela projektet.

Exempel på katalogstruktur:

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

Slutsats

TypeScript-moduler är en nyckelfunktion för att organisera och hantera kod. Genom att skapa och använda moduler kan kod hållas modulär, underhållbar och skalbar. Att förstå hur man exporterar och importerar kod, samt hur man strukturerar ett projekt, förbättrar effektiviteten i TypeScript-utveckling.