React Academy · Lektion

Opsætning af React med Electron

Konfigurér Electron med Vite og React, opsæt contextBridge til sikker IPC, og kør i udviklingstilstand.

Lektion 2 af 413 trin

Opsætning af React med Electron er en gratis React Academy-lektion på CoddyKit. Dette er lektion 2 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.

Oversigt over projektopsætningen

Opsætning af React med Electron begynder med at oprette et Vite React-projekt og derefter tilføje electron og electron-builder som udviklingsafhængigheder. Projektet ender med to startpunkter: Vite-appen til renderer-processen og en main.js-fil til Electron-hovedprocessen.

Filen main.js

main.js er Electron-startpunktet. Den opretter et BrowserWindow med de ønskede vinduesmål og sikkerhedsindstillinger og indlæser derefter React-appen — under udvikling peger den på localhost:5173, mens den i produktion peger på en bygget filsti.

electron-vite: Det anbefalede værktøj

electron-vite er et samlet byggeværktøj, der integrerer Vite med Electron og automatisk håndterer den komplekse byggekonfiguration til flere processer. Det leverer separate Vite-konfigurationer til hovedproces, preload og renderer og forenkler både udviklings- og produktionsbuilds betydeligt.

Konfiguration af vite.config.js

Når du konfigurerer Vite til Electron, skal du angive eksplicitte browsermål i stedet for at stole på automatisk registrering, fordi renderer-processen kører i en bestemt Chromium-version, der følger med Electron. electron-vite håndterer dette automatisk, men ved manuel opsætning skal du angive Chrome-versionen i byggemålet.

Udviklingsarbejdsgangen

Hvis du kører electron-vite dev, starter det både Vite-udviklingsserveren til renderer-processen og Electron-hovedprocessen samtidigt. Vite-udviklingsserveren leverer HMR (udskiftning af moduler under kørsel), så ændringer i dine React-komponenter vises øjeblikkeligt i Electron-vinduet uden en fuld genstart.

Udskiftning af moduler under kørsel i Electron

HMR fungerer i Electron-rendereren ligesom i en browser — redigerede komponenter gengives straks igen, samtidig med at tilstanden bevares. Kun ændringer i main.js eller preload-scriptet kræver en fuld genstart af Electron, fordi de kører uden for Vites HMR-grænse.

TypeScript-konfiguration

Electron + React + TypeScript-projekter har brug for separate tsconfig-filer til hovedprocessen (målrettet Node.js/CommonJS), preload (målrettet et browserlignende miljø med globale Node-variabler) og renderer (standard TypeScript til browseren). electron-vite opretter automatisk disse konfigurationer.

Opsætning af contextBridge

Preload-scriptet bruger contextBridge.exposeInMainWorld til at eksponere din brugerdefinerede API for renderer-processen. Et typisk mønster er at eksponere et navneområde som "api" med funktioner, der omslutter kald til ipcRenderer.invoke, så React-komponenter får en enkel asynkron grænseflade til handlinger i hovedprocessen.

Adgang til eksponerede API'er fra React

Fra enhver React-komponent kalder du window.api.myFunction() for at anvende den eksponerede preload-API. TypeScript-brugere tilføjer typisk en global deklaration (window: Window & { api: MyAPI }), så de får typekontrol og autofuldførelse for den eksponerede grænseflade.

Bygning til produktion

electron-vite build kompilerer alle tre mål (hovedproces, preload og renderer) til mappen dist/. Derefter pakker electron-builder dette som et platformspecifikt installationsprogram. main.js i produktionen indlæser renderer-processen fra den samlede filsti i stedet for URL'en til udviklingsserveren.

Almindelige faldgruber ved opsætning

De hyppigste fejl ved opsætningen er at glemme nodeIntegration:false og contextIsolation:true (hvilket skaber sikkerhedshuller), indlæse den forkerte URL i main.js (udvikling kontra produktion) og importere Electron-moduler direkte i renderer-processen (hvilket får den til at gå ned). electron-vites standardindstillinger forhindrer de fleste af disse problemer.

Kommandoen electron-vite dev

Hvad opnår du ved at køre electron-vite dev?

Opsummering af lektionen

Opsætning af React med Electron forenkles af electron-vite, som håndterer kompleksiteten ved builds til flere processer. Udviklingsarbejdsgangen giver fuld HMR-understøttelse, contextBridge sikrer renderer-processens API-overflade, og separate TypeScript-konfigurationer sørger for, at hver proces har det korrekte typemiljø. Produktionsbuilds bruger electron-builder til platformspecifik pakning.

Gratis at komme i gang

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 “Opsætning af React med Electron” gratis?

Ja — hele teksten til “Opsætning af React med Electron” 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 “Opsætning af React med Electron”?

Konfigurér Electron med Vite og React, opsæt contextBridge til sikker IPC, og kør i udviklingstilstand. 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 2 af 4.

Hvor lang tid tager lektionen “Opsætning af React med Electron”?

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

  1. Electron-arkitektur: Main- og renderer-processer
  2. Opsætning af React med Electron
  3. IPC-kommunikation mellem processer
  4. Pakning og distribution til desktopplatforme
← Tilbage til React Academy