Nx Affected-kommandoer og caching
Kjør bare tester og bygginger som påvirkes av en endring, og gjør CI raskere med distribuert caching i Nx Cloud.
Nx Affected-kommandoer og caching er en gratis leksjon i React Academy på CoddyKit. Dette er leksjon 3 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i React Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i React Academy inneholder totalt 4 leksjoner.
Konseptet berørte prosjekter
Nx følger avhengighetsgrafen til monorepoet ditt. Når du endrer en fil, beregner Nx hvilke prosjekter som er berørt (endret direkte eller avhengige av endrede prosjekter), og kjører bare oppgaver for disse.
Kjøre tester for berørte prosjekter
Kjør bare tester for prosjekter som er berørt av endringer siden hovedgrenen.
# Compare to main branch:
npx nx affected --target=test --base=origin/main --head=HEAD
# Shorthand (uses nx.json defaultBase):
npx nx affected --target=testKjøre bygginger for berørte prosjekter
Bygg bare berørte prosjekter — dette er avgjørende i CI for å unngå å bygge hele monorepoet på nytt ved hver pull request.
npx nx affected --target=build
# With parallel workers:
npx nx affected --target=build --parallel=3Linting og E2E for berørte prosjekter
Bruk det samme mønsteret for linting og E2E-tester.
npx nx affected --target=lint
npx nx affected --target=e2eSlik avgjør Nx hva som er berørt
Nx beregner hasher for alle kildefiler, package.json-filer og konfigurasjonsfiler. Et prosjekt er berørt hvis noen av dets egne filer er endret, eller hvis et prosjekt det importerer fra, er endret.
Lokal beregningsbuffer
Nx bufrer resultatene fra oppgaver (byggeartefakter og testresultater) i .nx/cache. Når du kjører den samme oppgaven med uendrede inndata, gjenopprettes resultatet umiddelbart fra bufferen — også terminalutskriftene spilles av på nytt.
# 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-fjernbuffer
Nx Cloud deler bufferen mellom teammedlemmer og CI. Hvis en kollega allerede har bygget et prosjekt med de samme inndataene, bruker CI den eksterne bufferen i stedet for å bygge på nytt — selv på en ny maskin.
# Connect workspace to Nx Cloud:
npx nx connect-to-nx-cloud
# Set CI environment variable:
# NX_CLOUD_ACCESS_TOKEN=<token>Konfigurere bufferinndata
Konfigurer hvilke filer som skal være bufferinndata for en oppgave i project.json. Utelat filer som ikke påvirker byggeutdataene (for eksempel README og testdata) for å maksimere antallet buffertreff.
// project.json
{
"targets": {
"build": {
"inputs": [
"default", // source files
"^default" // upstream dependency source files
],
"outputs": ["{workspaceRoot}/dist/apps/web"]
}
}
}Fordeling av oppgaver (Nx Agents)
Nx Cloud Agents fordeler berørte oppgaver på flere CI-maskiner parallelt, noe som reduserer den totale CI-tiden betydelig for store monorepoer.
Nx Console-utvidelsen for VS Code
Nx Console-utvidelsen gir et grafisk brukergrensesnitt for å kjøre Nx-kommandoer, visualisere prosjektgrafen og generere kode — uten at du må huske CLI-flagg.
Visualisere oppgavegrafen
nx graph --task=build viser avhengighetsgrafen for oppgaver, inkludert hvilke oppgaver som avhenger av andre oppgaver — nyttig for å forstå rekkefølgen på byggingene.
npx nx graph --task=buildKort kontroll
Hva avgjør om en Nx-oppgave får et buffertreff?
Oppsummering
nx affected --target=X kjører oppgaver bare for endrede prosjekter og prosjektene som avhenger av dem. Nx bufrer utdata ved å beregne hasher for inndataene — og spiller resultatene av umiddelbart. Nx Cloud utvider dette med en delt ekstern buffer på tvers av maskiner. Bruk --parallel=N for å kjøre oppgaver samtidig og få raskere CI.
Lær deg React med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 88
- Leksjoner
- 324
Ofte stilte spørsmål
Er leksjonen «Nx Affected-kommandoer og caching» gratis?
Ja – hele teksten i «Nx Affected-kommandoer og caching» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av React Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i React Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «Nx Affected-kommandoer og caching»?
Kjør bare tester og bygginger som påvirkes av en endring, og gjør CI raskere med distribuert caching i Nx Cloud. Du øver på React Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med React Academy?
Ingen tidligere erfaring er nødvendig. React Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.
Hvor lang tid tar leksjonen «Nx Affected-kommandoer og caching»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne React Academy-leksjonen?
Ja. Alle React Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Opprette et Nx-monorepo med React-apper
- Delte biblioteker og interne pakker
- Nx Affected-kommandoer og caching
- Kodegeneratorer og automatisering av arbeidsområder