Nx-Affected-Befehle und Caching
Führen Sie nur von einer Änderung betroffene Tests und Builds aus und beschleunigen Sie die CI mit verteilter Zwischenspeicherung durch Nx Cloud.
Nx-Affected-Befehle und Caching ist eine kostenlose React 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 React Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der React Academy-Kurs umfasst insgesamt 4 Lektionen.
Das Affected-Konzept
Nx verfolgt den Abhängigkeitsgraphen Ihres Monorepos. Wenn Sie eine Datei ändern, berechnet Nx, welche Projekte betroffen sind (direkt geändert wurden oder von geänderten Projekten abhängen), und führt Tasks nur für diese Projekte aus.
Betroffene Tests ausführen
Führen Sie nur Tests für Projekte aus, die von Änderungen seit dem Main-Branch betroffen sind.
# Compare to main branch:
npx nx affected --target=test --base=origin/main --head=HEAD
# Shorthand (uses nx.json defaultBase):
npx nx affected --target=testBetroffene Builds ausführen
Erstellen Sie nur betroffene Projekte – das ist für CI entscheidend, damit nicht bei jedem Pull Request das gesamte Monorepo neu gebaut wird.
npx nx affected --target=build
# With parallel workers:
npx nx affected --target=build --parallel=3Betroffenes Linting und E2E
Wenden Sie dasselbe Muster auf Linting und E2E-Tests an.
npx nx affected --target=lint
npx nx affected --target=e2eWie Nx betroffene Projekte ermittelt
Nx bildet Hashes für alle Quelldateien, package.json-Dateien und Konfigurationsdateien. Ein Projekt ist betroffen, wenn sich eine seiner eigenen Dateien geändert hat oder wenn sich ein Projekt geändert hat, aus dem es importiert.
Lokaler Berechnungs-Cache
Nx speichert Task-Ausgaben (Build-Artefakte, Testergebnisse) in .nx/cache. Wenn Sie denselben Task mit unveränderten Eingaben erneut ausführen, werden die Ergebnisse sofort aus dem Cache wiederhergestellt – auch die Ausgaben und Terminalprotokolle werden erneut ausgegeben.
# First run (builds):
$ npx nx build web → Builds in 28s, cached
# Second run (no changes):
$ npx nx build web → Cache hit! [existing outputs match] 0ms
# Clear cache if needed:
$ npx nx resetNx Cloud Remote-Cache
Nx Cloud stellt den Cache Teammitgliedern und CI gemeinsam zur Verfügung. Wenn ein Kollege ein Projekt bereits mit denselben Eingaben erstellt hat, verwendet Ihre CI den Remote-Cache, statt das Projekt neu zu erstellen – sogar auf einem neuen Rechner.
# Connect workspace to Nx Cloud:
npx nx connect-to-nx-cloud
# Set CI environment variable:
# NX_CLOUD_ACCESS_TOKEN=<token>Konfiguration der Cache-Eingaben
Konfigurieren Sie in project.json, welche Dateien für ein Target als Cache-Eingaben dienen. Schließen Sie Dateien aus, die sich nicht auf die Build-Ausgabe auswirken (z. B. README-Dateien und Test-Fixtures), um möglichst viele Cache-Treffer zu erzielen.
// project.json
{
"targets": {
"build": {
"inputs": [
"default", // source files
"^default" // upstream dependency source files
],
"outputs": ["{workspaceRoot}/dist/apps/web"]
}
}
}Task-Verteilung (Nx Agents)
Nx Cloud Agents verteilen betroffene Tasks parallel auf mehrere CI-Rechner und verkürzen dadurch die CI-Laufzeit bei großen Monorepos erheblich.
Nx Console VS-Code-Erweiterung
Die Nx-Console-Erweiterung bietet eine grafische Oberfläche zum Ausführen von Nx-Befehlen, zum Visualisieren des Projektgraphen und zum Generieren von Code – ohne dass Sie sich CLI-Flags merken müssen.
Task-Graph visualisieren
nx graph --task=build zeigt den Task-Abhängigkeitsgraphen einschließlich der Abhängigkeiten zwischen den Tasks – hilfreich, um die Build-Reihenfolge zu verstehen.
npx nx graph --task=buildKurztest
Wodurch wird bestimmt, ob ein Nx-Task einen Cache-Treffer erzielt?
Zusammenfassung
nx affected --target=X führt Tasks nur für geänderte Projekte und deren abhängige Projekte aus. Nx speichert Ausgaben, indem es Hashes der Eingaben bildet, und gibt die Ergebnisse sofort wieder aus. Nx Cloud erweitert dieses Konzept um einen gemeinsamen Remote-Cache für mehrere Rechner. Verwenden Sie --parallel=N, um Tasks gleichzeitig auszuführen und CI zu beschleunigen.
Häufig gestellte Fragen
Ist die Lektion „Nx-Affected-Befehle und Caching“ kostenlos?
Ja — der vollständige Text von „Nx-Affected-Befehle und Caching“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des React Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der React Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Nx-Affected-Befehle und Caching“?
Führen Sie nur von einer Änderung betroffene Tests und Builds aus und beschleunigen Sie die CI mit verteilter Zwischenspeicherung durch Nx Cloud. Du übst React 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 React Academy zu starten?
Keine Vorkenntnisse erforderlich. React 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 „Nx-Affected-Befehle und Caching“?
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 React Academy-Lektion Code schreiben und ausführen?
Ja. Jede React 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
- Ein Nx-Monorepo mit React-Apps erstellen
- Gemeinsame Libraries und interne Packages
- Nx-Affected-Befehle und Caching
- Code-Generatoren und Workspace-Automatisierung