Oprettelse af et Nx-monorepo med React-apps
Opret et Nx-workspace, tilføj React-apps, og forstå projektgrafen.
Oprettelse af et Nx-monorepo med React-apps er en gratis React Academy-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i React Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. React Academy-kurset indeholder 4 lektioner i alt.
Hvorfor Nx?
Nx er et intelligent byggesystem til monorepoer. Det tilbyder kørsel af opgaver baseret på påvirkede projekter (byg og test kun det, der er ændret), cachelagring (kør aldrig uændrede opgaver igen) og generatorer til oprettelse af grundstrukturen for applikationer og biblioteker.
Opret et nyt Nx-arbejdsområde
Opret et nyt Nx-arbejdsområde, der er forudkonfigureret til React.
# Create workspace:
npx create-nx-workspace@latest myorg --preset=react-monorepo
# or for Next.js:
npx create-nx-workspace@latest myorg --preset=nextArbejdsområdets struktur
Nx organiserer kode i apps/ (applikationer, der kan udrulles) og libs/ (delte biblioteker). Hvert projekt har sin egen project.json med opgavemål.
myorg/
apps/
web/ # React SPA
admin/ # Admin React SPA
api/ # NestJS backend
libs/
ui/ # shared UI components
data-access/ # data fetching hooks
utils/ # shared utilities
nx.json # workspace config
package.json # single package.jsonTilføj en React-applikation
Brug Nx' React-generator til at tilføje en ny applikation med al konfiguration klar på forhånd.
# Add a new React app:
npx nx generate @nx/react:app customer-portal
# Add a Next.js app:
npx nx generate @nx/next:app marketingKør opgaver
Kør build, test, lint og serve for individuelle projekter eller for alle projekter.
# Serve a specific app:
npx nx serve web
# Build all apps:
npx nx run-many --target=build --all
# Test a specific library:
npx nx test uiProjektgraf
nx graph åbner en interaktiv visualisering af alle applikationer og biblioteker samt deres afhængigheder — se, hvilke projekter der afhænger af hvilke biblioteker.
npx nx graphNx-cachelagring
Nx cacher opgaveoutput lokalt. Når du kører en uændret opgave igen, rammer den cachen med det samme. Nx Cloud udvider cachelagringen til en fjerncache, der deles mellem teammedlemmer og CI.
# First run: builds and caches
npx nx build web # ~30s
# Second run (no changes): cache hit
npx nx build web # <1s — served from cacheOpgaveforløb
Definér opgaveafhængigheder i nx.json. Når du kører build, køres build automatisk for alle forudgående afhængigheder først.
// nx.json
{
"targetDefaults": {
"build": {
"dependsOn": ["^build"], // run dependency builds first
"cache": true
},
"test": {
"cache": true
}
}
}Tags til håndhævelse
Tag projekter (f.eks. scope:ui, type:app), og brug ESLint-regler til at forhindre apps i at importere andre apps' interne kode.
// project.json
{
"tags": ["scope:web", "type:app"]
}
// .eslintrc.json
{
"rules": {
"@nx/enforce-module-boundaries": ["error", {
"depConstraints": [
{ "sourceTag": "type:app", "onlyDependOnLibsWithTags": ["type:lib"] }
]
}]
}
}TypeScript-stialiaser
Nx konfigurerer automatisk tsconfig.base.json med stialiaser, så du kan importere delte biblioteker som @myorg/ui i stedet for at bruge dybe relative stier.
// tsconfig.base.json (auto-generated)
{
"compilerOptions": {
"paths": {
"@myorg/ui": ["libs/ui/src/index.ts"],
"@myorg/utils": ["libs/utils/src/index.ts"]
}
}
}
// Usage in apps:
import { Button } from '@myorg/ui';Hurtigt tjek
Hvad gør nx affected --target=build i et Nx-monorepo?
Opsummering
Opret et Nx-workspace med create-nx-workspace. Brug nx generate til apps og biblioteker, nx serve/build/test til opgaver og nx affected i CI for kun at behandle ændrede projekter. Cachelagring sikrer, at uændrede opgaver returnerer resultater med det samme.
Lær React med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 88
- Lektioner
- 324
Ofte stillede spørgsmål
Er lektionen “Oprettelse af et Nx-monorepo med React-apps” gratis?
Ja — hele teksten til “Oprettelse af et Nx-monorepo med React-apps” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af React Academy-kurset, skal du opgradere til CoddyKit PRO. React Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Oprettelse af et Nx-monorepo med React-apps”?
Opret et Nx-workspace, tilføj React-apps, og forstå projektgrafen. Du øver dig i React Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på React Academy?
Der kræves ingen tidligere erfaring. React Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.
Hvor lang tid tager lektionen “Oprettelse af et Nx-monorepo med React-apps”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne React Academy-lektion?
Ja. Alle React Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Oprettelse af et Nx-monorepo med React-apps
- Delte biblioteker og interne pakker
- Nx Affected-kommandoer og caching
- Kodegeneratorer og automatisering af workspaces