TypeScript tsconfig.json-Konfiguration
tsconfig.json ist die Konfigurationsdatei für TypeScript-Projekte und dient zum Festlegen von Compiler-Optionen und Projekteinstellungen.
Basiskonfiguration
Die grundlegendste tsconfig.json-Datei.
Beispiel
{
"compilerOptions": {
"target": "ES2020",
"module": "commonjs",
"strict": true,
"outDir": "./dist"
},
"include": ["src/**/*"],
"exclude": ["node_modules", "dist"]
}
"compilerOptions": {
"target": "ES2020",
"module": "commonjs",
"strict": true,
"outDir": "./dist"
},
"include": ["src/**/*"],
"exclude": ["node_modules", "dist"]
}
Konfigurationsbeschreibung:
- target:Ziel-JavaScript-Version, in die kompiliert werden soll
- module:Zu verwendendes Modulsystem
- strict:Alle strikten Typprüfungen aktivieren
- outDir:Ausgabeverzeichnis
Kompilierungszielversion
Verwenden Sie "target", um die JavaScript-Version anzugeben, in die kompiliert werden soll.
Beispiel
// tsconfig.json
{
"compilerOptions": {
// ES3, ES5, ES6/ES2015, ES2020, ESNext
"target": "ES2020"
}
}
{
"compilerOptions": {
// ES3, ES5, ES6/ES2015, ES2020, ESNext
"target": "ES2020"
}
}
Ausgabeunterschiede für verschiedene Ziele:
// target: ES5 - 使用 var var greeting = "Hello"; // target: ES2020 - 使用 let/const let greeting = "Hello";
Modulsystem
Konfigurieren Sie das Modularisierungsschema.
Beispiel
{
"compilerOptions": {
"module": "commonjs",
// Optionen: none, commonjs, amd, umd, es6, es2020, esnext
}
}
"compilerOptions": {
"module": "commonjs",
// Optionen: none, commonjs, amd, umd, es6, es2020, esnext
}
}
Strict Mode
Die Option strict aktiviert alle strikten Typprüfungen.
Beispiel
{
"compilerOptions": {
"strict": true,
// Entspricht dem Aktivieren aller folgenden Optionen:
// "strictNullChecks": true,
// "noImplicitAny": true,
// "strictFunctionTypes": true,
// usw.
}
}
"compilerOptions": {
"strict": true,
// Entspricht dem Aktivieren aller folgenden Optionen:
// "strictNullChecks": true,
// "noImplicitAny": true,
// "strictFunctionTypes": true,
// usw.
}
}
Empfehlung:Aktivieren Sie immer strict: true, dies ist eine Best Practice.
Pfad-Aliase
Konfigurieren Sie Pfad-Aliase, um Importe zu vereinfachen.
Beispiel
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@/*": ["src/*"],
"@components/*": ["src/components/*"]
}
}
}
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@/*": ["src/*"],
"@components/*": ["src/components/*"]
}
}
}
Verwendung:
import Button from "@components/Button";
import { Header } from "@/components";
Einbeziehung und Ausschluss von Dateien
Legen Sie fest, welche Dateien in die Kompilierung einbezogen werden.
Beispiel
{
"include": ["src/**/*"],
"exclude": [
"node_modules",
"dist",
"**/*.test.ts",
"**/*.spec.ts"
]
}
"include": ["src/**/*"],
"exclude": [
"node_modules",
"dist",
"**/*.test.ts",
"**/*.spec.ts"
]
}
Übersicht über gängige Compiler-Optionen
| Option | Beschreibung |
|---|---|
| target | Kompilierungszielversion |
| module | Modulsystem |
| strict | Strict Mode |
| outDir | Ausgabeverzeichnis |
| rootDir | Quellstammverzeichnis |
| esModuleInterop | ES-Modul-Interoperabilität zulassen |
| skipLibCheck | Bibliotheksprüfung überspringen |
| declaration | .d.ts-Deklarationsdateien generieren |
Zusammenfassung
- tsconfig.json:TypeScript-Projektkonfigurationsdatei
- compilerOptions:Kernkonfiguration der Compiler-Optionen
- include/exclude:Dateibereich steuern
- Pfad-Aliase:Importpfade vereinfachen
- strict: true:Strict-Modus immer aktivieren