TypeScript meistern
Bitte unterstützen Sie dieses Buch: kaufen Sie es oder spenden Sie
(Werbung, bitte nicht blockieren.)

4 Wie funktioniert TypeScript? Die Vogelperspektive



Dieses Kapitel bietet einen Überblick darüber, wie TypeScript funktioniert: Wie ist die Struktur eines typischen TypeScript-Projekts aufgebaut? Was wird wie kompiliert? Wie können wir IDEs verwenden, um TypeScript zu schreiben?

4.1 Die Struktur von TypeScript-Projekten

Dies ist eine mögliche Dateistruktur für TypeScript-Projekte

typescript-project/
  dist/
  ts/
    src/
      main.ts
      util.ts
    test/
      util_test.ts
  tsconfig.json

Erläuterungen

4.1.1 tsconfig.json

Der Inhalt von tsconfig.json sieht wie folgt aus

{
  "compilerOptions": {
    "rootDir": "ts",
    "outDir": "dist",
    "module": "commonjs",
    ···
  }
}

Wir haben angegeben, dass

4.2 TypeScript-Programmierung über eine integrierte Entwicklungsumgebung (IDE)

Zwei beliebte IDEs für JavaScript sind

Die Beobachtungen in diesem Abschnitt beziehen sich auf Visual Studio Code, können aber auch für andere IDEs gelten.

Eine wichtige Tatsache, die man wissen muss, ist, dass Visual Studio Code TypeScript-Quellcode auf zwei unabhängige Arten verarbeitet

4.3 Andere Dateien, die vom TypeScript-Compiler erzeugt werden

Ausgehend von einer TypeScript-Datei main.ts kann der TypeScript-Compiler verschiedene Arten von Artefakten erzeugen. Die gebräuchlichsten sind

TypeScript wird oft nicht über .ts-Dateien, sondern über .js-Dateien und .d.ts-Dateien geliefert

Eine Source Map gibt für jeden Teil des Ausgabecodes in main.js an, welcher Teil des Eingabecodes in main.ts ihn erzeugt hat. Diese Informationen ermöglichen es unter anderem Laufzeitumgebungen, JavaScript-Code auszuführen und dabei die Zeilennummern des TypeScript-Codes in Fehlermeldungen anzuzeigen.

4.3.1 Um npm-Pakete aus TypeScript zu verwenden, benötigen wir Typinformationen

Das npm-Repository ist ein riesiges Repository für JavaScript-Code. Wenn wir ein JavaScript-Paket aus TypeScript verwenden möchten, benötigen wir Typinformationen dafür

Die Deklarationsdateien von DefinitelyTyped befinden sich im @types-Namespace. Daher müssen wir, wenn wir eine Deklarationsdatei für ein Paket wie lodash benötigen, das Paket @types/lodash installieren.

4.4 Verwendung des TypeScript-Compilers für reine JavaScript-Dateien

Der TypeScript-Compiler kann auch reine JavaScript-Dateien verarbeiten

Dies ist ein Beispiel für einen JSDoc-Kommentar, der statische Typinformationen für eine Funktion add() liefert

/**
 * @param {number} x - The first operand
 * @param {number} y - The second operand
 * @returns {number} The sum of both operands
 */
function add(x, y) {
  return x + y;
}

Weitere Informationen: Type-Checking JavaScript Files im TypeScript Handbook.