0Pricing
TypeScript Academy · Lektion

Nur-Typ-Importe und -Exporte

Verwenden Sie import type, um Laufzeit-Overhead zu vermeiden.

Nur-Typ-Importe und -Exporte ist eine kostenlose TypeScript Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des TypeScript Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der TypeScript Academy-Kurs umfasst insgesamt 4 Lektionen.

Willkommen

Nur-Typ-Importe und -Exporte (import type / export type) wurden in TypeScript 3.8 eingeführt, um Entwicklern eine explizite Kontrolle darüber zu geben, was eine Laufzeitabhängigkeit und was nur ein Typ ist.

Warum Nur-Typ wichtig ist

Reguläre Importe können Laufzeitcode einbinden. Wenn Sie nur den Typ benötigen, kann der Import vollständig aus der kompilierten Ausgabe entfernt werden.
import { User } from './models'; // includes runtime binding
import type { User } from './models'; // compile-time only, erased

Syntax für import type

Setzen Sie `type` nach dem Schlüsselwort `import` ein. Sie können den importierten Namen nicht als Wert verwenden.
import type { ApiResponse } from './api-types';

function handleResponse(res: ApiResponse<User>): void {
  // ApiResponse used as type annotation only
}

Syntax für export type

Verwenden Sie `export type`, um Exporte ausdrücklich als Nur-Typ-Exporte zu kennzeichnen.
// user.types.ts
export type UserId = string;
export type { User, UserRole };

Inline-Typimport

TypeScript 4.5 und höher ermöglicht es, einzelne Importe innerhalb einer regulären Importanweisung als Nur-Typ-Importe zu kennzeichnen.
import { type User, createUser } from './user';
// User is type-only, createUser is a runtime value

Zirkuläre Abhängigkeiten auflösen

Nur-Typ-Importe können Probleme mit zirkulären Abhängigkeiten beheben, da sie keine Laufzeitbindungen erzeugen.

verbatimModuleSyntax

TypeScript 5.0 führte `verbatimModuleSyntax` ein. Wenn diese Option aktiviert ist, MÜSSEN Sie für Nur-Typ-Importe `import type` verwenden, um Verwirrung beim Bundler zu vermeiden.
// tsconfig.json
{ "compilerOptions": { "verbatimModuleSyntax": true } }

importsNotUsedAsValues

Die Compileroption `importsNotUsedAsValues` (die durch verbatimModuleSyntax abgelöst wurde) steuert, wie TypeScript mit nicht verwendeten Wertimporten umgeht.

Vorteile bei Bundlern

Bundler wie Vite und esbuild verwenden Markierungen mit `import type`, um die Verarbeitung von Typimporten zu überspringen und dadurch die Build-Geschwindigkeit zu verbessern.

Nur-Typ-Re-Exports

Exportieren Sie Typen erneut, ohne ihr Laufzeitmodul einzubinden.
// public-api.ts
export type { User, UserRole } from './internal-user';
export { createUser } from './internal-user'; // runtime

Fehler: import type kann nicht als Wert verwendet werden

Die Verwendung eines Nur-Typ-Imports als Laufzeitwert führt zu einem Kompilierungsfehler.
import type { User } from './user';
// const u = new User(); // Error — User was imported as type-only

Kurztest

Wann sollten Sie `import type` anstelle eines regulären `import` verwenden?

Zusammenfassung

Verwenden Sie `import type` und `export type` für Nur-Typ-Importe und -Exporte. Sie werden beim Kompilieren entfernt, verhindern Laufzeitabhängigkeiten von Typdateien und sind erforderlich, wenn verbatimModuleSyntax aktiviert ist.

Häufig gestellte Fragen

Ist die Lektion „Nur-Typ-Importe und -Exporte“ kostenlos?

Ja — der vollständige Text von „Nur-Typ-Importe und -Exporte“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des TypeScript Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der TypeScript Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Nur-Typ-Importe und -Exporte“?

Verwenden Sie import type, um Laufzeit-Overhead zu vermeiden. Du übst TypeScript Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um TypeScript Academy zu starten?

Keine Vorkenntnisse erforderlich. TypeScript Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „Nur-Typ-Importe und -Exporte“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser TypeScript Academy-Lektion Code schreiben und ausführen?

Ja. Jede TypeScript Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. ES-Modulsyntax: import und export
  2. Re-Exports und Barrel-Dateien
  3. Nur-Typ-Importe und -Exporte
  4. Namespaces vs. Module: moderne Verwendung
← Zurück zu TypeScript Academy