Monorepos und Project References
Erstellen Sie ein Workspace-Monorepo und verbinden Sie TypeScript Project References für schnelle inkrementelle Builds und saubere Typen zwischen Paketen.
Monorepos und Project References ist eine kostenlose TypeScript Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 1. 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 1 Lektionen.
Einführung
Ziel: Organisieren Sie ein skalierbares Monorepo. Sie deklarieren Workspaces, fügen Project References hinzu und bauen mit tsc -b inkrementell.
- pnpm/yarn-Workspaces
- Composite-Projekte
- Gemeinsam verwendete Typen
Workspace-Layout
Ein einfaches Layout mit zwei Paketen: shared (Bibliothek) und app (hängt von shared ab). Workspaces verknüpfen lokale Pakete.
# folder structure (for reference)
/monorepo
package.json
tsconfig.base.json
packages/
shared/
src/index.ts
package.json
tsconfig.json
app/
src/index.ts
package.json
tsconfig.jsonWorkspaces im Stammprojekt
Deklarieren Sie Workspaces, damit der Paketmanager lokale Abhängigkeiten verknüpft. Fügen Sie build/clean-Skripte hinzu, die den TS-Build-Modus verwenden.
// package.json (root)
{
"name": "monorepo",
"private": true,
"workspaces": ["packages/*"],
"scripts": {
"build": "tsc -b packages/*",
"clean": "tsc -b packages/* --clean"
}
}Shared-Paket
Kennzeichnen Sie die Bibliothek als composite-Projekt. Erzeugen Sie Deklarationen, damit abhängige Pakete schnell eine Typprüfung durchführen können.
// packages/shared/tsconfig.json
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"outDir": "dist",
"rootDir": "src",
"declaration": true,
"composite": true
},
"include": ["src"]
}
// packages/shared/src/index.ts
export interface User { id: string; name: string }
export const hello = (u: User) => `Hello, ${u.name}`App-Paket und Referenzen
Fügen Sie einen references-Eintrag hinzu, um von shared abzuhängen. Der Builder kompiliert shared zuerst und anschließend app.
// packages/app/tsconfig.json
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"outDir": "dist",
"rootDir": "src",
"composite": true
},
"references": [
{ "path": "../shared" }
],
"include": ["src"]
}
// packages/app/src/index.ts
import { hello } from "shared"
console.log(hello({ id: "u1", name: "Ada" }))Basis-Konfiguration und Tipps
Tipps:
- Erstellen Sie
tsconfig.base.jsonfür gemeinsame Compileroptionen. - Verwenden Sie
paths-Zuordnungen, die die Paketnamen widerspiegeln. - Führen Sie
tsc -b --watchfür die inkrementelle lokale Entwicklung aus.
Prüfung der Referenzanforderungen
Schnellprüfung: Was muss jedes referenzierte Paket enthalten?
Zusammenfassung
Zusammenfassung: Workspaces verknüpfen lokale Pakete; Project References (composite + references) ermöglichen schnelle inkrementelle tsc -b-Builds und zuverlässige Typen über Paketgrenzen hinweg.
Häufig gestellte Fragen
Ist die Lektion „Monorepos und Project References“ kostenlos?
Ja — der vollständige Text von „Monorepos und Project References“ 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 1 Lektionen.
Was lerne ich in „Monorepos und Project References“?
Erstellen Sie ein Workspace-Monorepo und verbinden Sie TypeScript Project References für schnelle inkrementelle Builds und saubere Typen zwischen Paketen. 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 1 von 1.
Wie lange dauert die Lektion „Monorepos und Project References“?
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.