TypeScript unterstützt sowohl das ES2015-Modulsystem als auch das
CommonJS-Modulsystem. Dies ermöglicht die Verwendung von
import und export, um Code zwischen
verschiedenen Dateien zu teilen. Module sind eine Schlüsselfunktion in
TypeScript, die es ermöglichen, Code in mehrere Dateien aufzuteilen und
so die Wiederverwendbarkeit und Wartbarkeit des Codes zu verbessern.
Module können Klassen, Funktionen, Interfaces und Variablen exportieren
und importieren.
In TypeScript verwendet man das export Schlüsselwort, um
Teile eines Moduls öffentlich zugänglich zu machen, und das
import Schlüsselwort, um öffentliche Teile eines anderen
Moduls zu verwenden.
Um eine reibungslose Interoperabilität mit CommonJS-Modulen zu
gewährleisten, ist es wichtig, den esModuleInterop-Flag in
der tsconfig.json-Datei zu setzen:
{
"compilerOptions": {
"module": "CommonJS",
"target": "ES2015",
"esModuleInterop": true
}
}Dieser Flag ermöglicht es, CommonJS-Module in einer Weise zu importieren, die mit der standardmäßigen ES2015-Syntax kompatibel ist.
car.ts
export class Car {
constructor(public color: string, public year: number) {}
}In diesem Modul car.ts wird eine Klasse Car
definiert und exportiert.
main.ts
import { Car } from './car';
let myCar = new Car('red', 2022);
console.log(myCar.color); // Ausgabe: "red"
console.log(myCar.year); // Ausgabe: 2022In diesem Modul main.ts wird die Klasse Car
aus dem Modul car.ts importiert und verwendet.
vehicles.ts
export class Car {
constructor(public color: string, public year: number) {}
}
export class Motorcycle {
constructor(public make: string) {}
}main.ts
import { Car, Motorcycle } from './vehicles';
let myCar = new Car('red', 2022);
let myMotorcycle = new Motorcycle('Harley-Davidson');main.ts
import * as vehicles from './vehicles';
let myCar = new vehicles.Car('red', 2022);
let myMotorcycle = new vehicles.Motorcycle('Harley-Davidson');Module in TypeScript sind eine leistungsfähige Funktion, die dazu beiträgt, den Code gut organisiert, sauber und wartbar zu halten. Sie ermöglichen es, Code in logische Einheiten aufzuteilen und die Sichtbarkeit von Code innerhalb dieser Einheiten zu kontrollieren.