TypeScript
Next.js bringt TypeScript mit sich und installiert automatisch die notwendigen Pakete sowie konfiguriert die richtigen Einstellungen, wenn Sie ein neues Projekt mit create-next-app
erstellen.
Um TypeScript zu einem bestehenden Projekt hinzuzufügen, benennen Sie eine Datei in .ts
/ .tsx
um. Führen Sie next dev
und next build
aus, um automatisch die notwendigen Abhängigkeiten zu installieren und eine tsconfig.json
-Datei mit den empfohlenen Konfigurationsoptionen hinzuzufügen.
Gut zu wissen: Wenn Sie bereits eine
jsconfig.json
-Datei haben, kopieren Sie diepaths
-Compiler-Option aus der altenjsconfig.json
in die neuetsconfig.json
-Datei und löschen Sie die altejsconfig.json
-Datei.
Beispiele
Type-Checking für next.config.ts
Sie können TypeScript und importierte Typen in Ihrer Next.js-Konfiguration verwenden, indem Sie next.config.ts
nutzen.
Gut zu wissen: Die Modulauflösung in
next.config.ts
ist derzeit aufCommonJS
beschränkt. Dies kann zu Inkompatibilitäten mit ESM-only-Paketen führen, die innext.config.ts
geladen werden.
Wenn Sie die next.config.js
-Datei verwenden, können Sie in Ihrer IDE mit JSDoc eine Type-Checking-Funktionalität hinzufügen:
Statische Generierung und Server-seitiges Rendering
Für getStaticProps
, getStaticPaths
und getServerSideProps
können Sie die Typen GetStaticProps
, GetStaticPaths
bzw. GetServerSideProps
verwenden:
Gut zu wissen:
satisfies
wurde in TypeScript 4.9 hinzugefügt. Wir empfehlen ein Upgrade auf die neueste Version von TypeScript.
Mit API-Routen
Das folgende Beispiel zeigt, wie Sie die integrierten Typen für API-Routen verwenden können:
Sie können auch die Antwortdaten typisieren:
Mit benutzerdefinierter App
Wenn Sie eine benutzerdefinierte App
haben, können Sie den integrierten Typ AppProps
verwenden und den Dateinamen in ./pages/_app.tsx
ändern:
Inkrementelles Type-Checking
Seit v10.2.1
unterstützt Next.js inkrementelles Type-Checking, wenn es in Ihrer tsconfig.json
aktiviert ist. Dies kann die Type-Checking-Geschwindigkeit in größeren Anwendungen verbessern.
Deaktivieren von TypeScript-Fehlern in der Produktion
Next.js bricht Ihren Produktionsbuild (next build
) ab, wenn TypeScript-Fehler in Ihrem Projekt vorhanden sind.
Wenn Sie möchten, dass Next.js gefährlicherweise Produktionscode erzeugt, selbst wenn Ihre Anwendung Fehler enthält, können Sie den integrierten Type-Checking-Schritt deaktivieren.
Wenn Sie dies deaktivieren, stellen Sie sicher, dass Sie Type-Checks als Teil Ihres Build- oder Deploy-Prozesses durchführen, da dies sonst sehr gefährlich sein kann.
Öffnen Sie next.config.ts
und aktivieren Sie die ignoreBuildErrors
-Option in der typescript
-Konfiguration:
Gut zu wissen: Sie können
tsc --noEmit
ausführen, um selbst nach TypeScript-Fehlern zu suchen, bevor Sie den Build durchführen. Dies ist nützlich für CI/CD-Pipelines, in denen Sie TypeScript-Fehler vor dem Deployment überprüfen möchten.
Benutzerdefinierte Typdeklarationen
Wenn Sie benutzerdefinierte Typen deklarieren müssen, könnten Sie versucht sein, next-env.d.ts
zu ändern. Diese Datei wird jedoch automatisch generiert, sodass alle Änderungen, die Sie vornehmen, überschrieben werden. Stattdessen sollten Sie eine neue Datei erstellen, z.B. new-types.d.ts
, und diese in Ihrer tsconfig.json
referenzieren:
Versionsänderungen
Version | Änderungen |
---|---|
v15.0.0 | Unterstützung für next.config.ts für TypeScript-Projekte hinzugefügt. |
v13.2.0 | Statisch typisierte Links sind in der Beta verfügbar. |
v12.0.0 | SWC wird nun standardmäßig verwendet, um TypeScript und TSX für schnellere Builds zu kompilieren. |
v10.2.1 | Unterstützung für inkrementelles Type-Checking hinzugefügt, wenn es in Ihrer tsconfig.json aktiviert ist. |