Implementera automatiska uppdateringar
Integrera funktioner för automatiska uppdateringar i Er Electron-app med `electron-updater` för att smidigt leverera nya versioner till användarna.
Implementera automatiska uppdateringar är en gratis lektion i Utveckling av skrivbordsappar med Electron på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Utveckling av skrivbordsappar med Electron, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Utveckling av skrivbordsappar med Electron innehåller totalt 4 lektioner.
Varför automatiska uppdateringar?
Att hålla skrivbordsprogram uppdaterade är avgörande för användarupplevelsen och säkerheten. Automatiska uppdateringar ser till att användarna alltid har de senaste funktionerna och felkorrigeringarna.
- Förbättrad säkerhet: Säkerhetsbrister åtgärdas snabbt.
- Nya funktioner: Förbättringar levereras utan manuellt arbete.
- Felrättningar: Problem löses smidigt.
- Bättre användarupplevelse: Användarna får ett konsekvent uppdaterat och stabilt program.
Introduktion till `electron-updater`
electron-updater är en kraftfull modul som förenklar tillägget av automatisk uppdateringsfunktionalitet i ert Electron-program. Den hanterar den komplexa logiken för att söka efter nya versioner, hämta dem och installera dem.
Den fungerar genom att söka efter nya versioner på en konfigurerad uppdateringsserver, till exempel GitHub Releases, Amazon S3 eller en anpassad server, och hantera uppdateringsprocessen.
Installation och konfiguration
Först måste ni installera electron-updater som ett beroende i ert Electron-projekt. Det är bäst att lägga till det som ett vanligt beroende, inte som ett utvecklingsberoende, eftersom det ingår i programmet som distribueras.
Öppna terminalen i projektets rotkatalog och kör:
npm install electron-updaterInledande konfiguration i `main.js`
För att använda electron-updater arbetar ni huvudsakligen i programmets huvudprocess, vanligtvis main.js. Ni importerar autoUpdater och anropar dess metod checkForUpdates() när programmet är klart.
Obs! Den här koden ingår i huvudprocessen i ett Electron-program och kräver en fullständig Electron-miljö för att kunna köras. Den körs inte i en vanlig JavaScript-lekplats.
const { app, BrowserWindow } = require('electron');
const { autoUpdater } = require('electron-updater');
// ... other app setup ...
app.on('ready', () => {
// createWindow(); // Your window creation function
autoUpdater.checkForUpdates();
console.log('Checking for updates...');
});
// ... other app lifecycle events ...Förstå uppdateringshändelser
electron-updater använder en händelsestyrd modell. Det innebär att ni lyssnar efter specifika händelser som inträffar under uppdateringsprocessen och reagerar på dem. På så sätt kan ni ge användarna återkoppling.
checking-for-update: Sökning efter uppdateringar har startat.update-available: En ny version har hittats.update-not-available: Ingen ny version finns.download-progress: Förloppet för uppdateringshämtningen.update-downloaded: Uppdateringen är klar att installeras.error: Något gick fel.
Hantera `checking-for-update`
Händelsen checking-for-update utlöses så snart checkForUpdates() anropas. Det är en bra plats att visa en laddningsindikator eller ett meddelande för användaren.
Kom ihåg: Den här koden måste finnas i Electron-filen main.js.
const { autoUpdater } = require('electron-updater');
autoUpdater.on('checking-for-update', () => {
console.log('App is now checking for updates...');
// You might send a message to the renderer process
// to update the UI here.
});Hantera `update-available`
När electron-updater hittar en ny version skickas händelsen update-available ut. Därefter börjar uppdateringen vanligtvis att hämtas automatiskt. Ni kan använda den här händelsen för att meddela användaren att en uppdatering hämtas.
const { autoUpdater } = require('electron-updater');
autoUpdater.on('update-available', (info) => {
console.log(`Update available! Version: ${info.version}`);
// Display a message to the user that an update is downloading.
});Hantera `update-downloaded` och installation
När uppdateringen har hämtats helt skickas händelsen update-downloaded ut. Det här är det avgörande ögonblicket! Ni bör meddela användaren och be hen starta om programmet för att tillämpa uppdateringen.
Metoden autoUpdater.quitAndInstall() stänger alla fönster och installerar uppdateringen, och startar sedan om programmet.
const { autoUpdater } = require('electron-updater');
autoUpdater.on('update-downloaded', (info) => {
console.log('Update downloaded. Restarting app to install...');
// In a real app, you'd prompt the user here:
// dialog.showMessageBox({ /* ... */ }).then(() => autoUpdater.quitAndInstall());
autoUpdater.quitAndInstall();
});Hantera fel och avsaknad av uppdateringar
Det är viktigt att hantera situationer där det inte finns några uppdateringar eller där ett fel inträffar under processen. Händelsen update-not-available meddelar att programmet redan har den senaste versionen.
Händelsen error är avgörande för felsökning och för att informera användarna om något gick fel under sökningen efter eller hämtningen av en uppdatering.
const { autoUpdater } = require('electron-updater');
autoUpdater.on('update-not-available', (info) => {
console.log('No new updates available.');
});
autoUpdater.on('error', (err) => {
console.error('Error during auto-update:', err);
// You might display an error message to the user.
});Kontroll av uppdateringsflödet
Ni har lärt er om de viktigaste händelserna i livscykeln för electron-updater. Vilka av följande påståenden om automatiska uppdateringar stämmer vanligtvis?
Sammanfattning: håll programmet uppdaterat!
I den här lektionen har ni lärt er att implementera automatisk uppdateringsfunktionalitet i era Electron-program med modulen electron-updater.
- Vi gick igenom installationen och den grundläggande konfigurationen i huvudprocessen.
- Ni utforskade viktiga händelser som
checking-for-update,update-available,update-downloadedocherror. - Genom att förstå dessa händelser kan ni skapa en robust och användarvänlig upplevelse för uppdateringar, så att användarna alltid har den bästa versionen av programmet.
Lär dig JavaScript med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 12
- Lektioner
- 47
Vanliga frågor
Är lektionen ”Implementera automatiska uppdateringar” gratis?
Ja – hela texten till ”Implementera automatiska uppdateringar” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Utveckling av skrivbordsappar med Electron, kan Ni uppgradera till CoddyKit PRO. Kursen i Utveckling av skrivbordsappar med Electron innehåller totalt 4 lektioner.
Vad lär jag mig i ”Implementera automatiska uppdateringar”?
Integrera funktioner för automatiska uppdateringar i Er Electron-app med `electron-updater` för att smidigt leverera nya versioner till användarna. Ni övar på Utveckling av skrivbordsappar med Electron med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Utveckling av skrivbordsappar med Electron?
Du behöver inga förkunskaper. Utbildningen i Utveckling av skrivbordsappar med Electron på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.
Hur lång tid tar lektionen ”Implementera automatiska uppdateringar”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Utveckling av skrivbordsappar med Electron-lektionen?
Ja. Varje Utveckling av skrivbordsappar med Electron-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Hantera händelser i appens livscykel
- Implementera automatiska uppdateringar
- Kraschrapportering
- Deep linking och protokollhanterare