Plattformuavhengig pakking
Bli fortrolig med avanserte pakkealternativer og -konfigurasjoner ved hjelp av `electron-builder` for robust distribusjon på tvers av plattformer.
Plattformuavhengig pakking er en gratis leksjon i Utvikling av Electron-skrivebordsapper på CoddyKit. Dette er leksjon 1 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 Utvikling av Electron-skrivebordsapper, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Utvikling av Electron-skrivebordsapper inneholder totalt 4 leksjoner.
Hva er plattformuavhengig pakking?
Når du bygger en Electron-applikasjon, lager du en skrivebordsapp ved hjelp av webteknologier. For å distribuere appen til brukere må du pakke den som en kjørbar fil eller et installasjonsprogram som er tilpasset operativsystemet deres.
Plattformuavhengig pakking betyr å opprette disse distribusjonsfilene for Windows, macOS og Linux fra én enkelt kodebase. Dette sikrer at appen kan nå et bredt publikum, uavhengig av hvilket operativsystem de bruker.
Introduksjon til electron-builder
electron-builder er den foretrukne løsningen for pakking og distribusjon av Electron-applikasjoner. Det er et kraftig og fleksibelt verktøy som automatiserer mye av den komplekse prosessen.
- Genererer installasjonsprogrammer: Oppretter `.exe`, `.dmg`, `.deb`, `.AppImage` og mer.
- Code signing: Håndterer signering for sikkerhet og tillit.
- Automatiske oppdateringer: Integreres med mekanismer for automatiske oppdateringer.
- Fleksibel konfigurasjon: Kan tilpasses i stor grad via
package.json-filen eller en ekstern konfigurasjon.
Grunnleggende oppsett av electron-builder
For å komme i gang installerer du electron-builder som en utviklingsavhengighet og legger til et "build"-skript i package.json. Dette skriptet peker vanligvis på electron-builder-kommandoen.
Her er et grunnleggende oppsett:
{
"name": "my-electron-app",
"version": "1.0.0",
"main": "main.js",
"scripts": {
"start": "electron .",
"build": "electron-builder"
},
"devDependencies": {
"electron": "^28.0.0",
"electron-builder": "^24.0.0"
},
"build": {
"appId": "com.yourapp.id"
}
}Forstå «appId»
appId (Application ID) er en viktig identifikator for applikasjonen. Det er en unik streng, ofte i omvendt domenenavnformat (for eksempel com.yourcompany.yourappname).
- Unikhet: Hjelper operativsystemer med å identifisere appen.
- Oppdateringer: Er avgjørende for å skille appen fra andre under oppdateringer.
- Datalagring: Brukes av operativsystemet for applikasjonsspesifikke data.
Bruk alltid en unik appId for applikasjonen.
Windows-spesifikke konfigurasjoner
For Windows kan electron-builder generere ulike typer installasjonsprogrammer. De vanligste er NSIS (Nullsoft Scriptable Install System) og Squirrel.Windows.
- NSIS: Oppretter tradisjonelle `.exe`-installasjonsprogrammer og gir flere tilpasningsmuligheter.
- Squirrel.Windows: Gir enkle automatiske oppdateringer og en mer ukomplisert installasjonsopplevelse.
Du kan definere Windows-spesifikke innstillinger under nøkkelen "win" i "build"-konfigurasjonen.
Eksempel på Windows-konfigurasjon
Her er et eksempel på hvordan du kan konfigurere `electron-builder` for Windows ved å angi målformater og et ikon:
{
"name": "my-electron-app",
"build": {
"appId": "com.yourapp.id",
"win": {
"target": [
"nsis",
"squirrel"
],
"icon": "build/icon.ico"
}
}
}macOS-spesifikke konfigurasjoner
På macOS er de primære distribusjonsformatene DMG (Disk Image) og PKG (Installer Package). `electron-builder` håndterer detaljene for disse formatene.
- DMG: Den vanligste måten å distribuere macOS-apper på, med støtte for installasjon ved å dra og slippe.
- PKG: En tradisjonell installasjonspakke som passer for mer komplekse installasjoner eller distribusjon i virksomheter.
Viktige macOS-innstillinger omfatter category og bundleId (som bør samsvare med appId).
Eksempel på macOS-konfigurasjon
Dette kodeutdraget viser macOS-spesifikke innstillinger, inkludert målformater, bundle-ID og applikasjonskategori:
{
"name": "my-electron-app",
"build": {
"appId": "com.yourapp.id",
"mac": {
"target": [
"dmg",
"pkg"
],
"category": "public.app-category.developer-tools",
"bundleId": "com.yourapp.id",
"icon": "build/icon.icns"
}
}
}Linux-spesifikke konfigurasjoner
Linux har en rekke pakkeformater. electron-builder støtter populære formater som AppImage, deb og rpm.
- AppImage: Et universelt format som kjører på de fleste Linux-distribusjoner uten installasjon.
- deb: For Debian-baserte systemer (Ubuntu, Debian).
- rpm: For Red Hat-baserte systemer (Fedora, CentOS).
I likhet med macOS angir du ofte en category for applikasjonen.
Eksempel på Linux-konfigurasjon
Her er et eksempel på konfigurasjon for Linux, med ulike målformater og et angitt ikon:
{
"name": "my-electron-app",
"build": {
"appId": "com.yourapp.id",
"linux": {
"target": [
"AppImage",
"deb",
"rpm"
],
"category": "Development",
"icon": "build/icon.png"
}
}
}Test kunnskapene dine om pakking
Koble konfigurasjonsnøkkelen for `electron-builder`-målet til det primære operativsystemet.
Oppsummering og neste steg
Godt jobbet! Du har lært det grunnleggende om plattformuavhengig pakking med electron-builder.
- Vi utforsket hvordan
electron-builderforenkler opprettelsen av installasjonsprogrammer for Windows, macOS og Linux. - Du så hvordan du konfigurerer plattformspesifikke innstillinger direkte i
package.json. - Det er viktig å forstå
appIdog ulike installasjonsmål (NSIS, DMG, AppImage) for å lykkes med distribusjonen.
Deretter skal du lære om kodesignering og notarization, som er viktige trinn for å sikre at brukere og operativsystemer har tillit til applikasjonen.
Lær deg JavaScript 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
- 12
- Leksjoner
- 47
Ofte stilte spørsmål
Er leksjonen «Plattformuavhengig pakking» gratis?
Ja – hele teksten i «Plattformuavhengig pakking» 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 Utvikling av Electron-skrivebordsapper-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Utvikling av Electron-skrivebordsapper inneholder totalt 4 leksjoner.
Hva lærer jeg i «Plattformuavhengig pakking»?
Bli fortrolig med avanserte pakkealternativer og -konfigurasjoner ved hjelp av `electron-builder` for robust distribusjon på tvers av plattformer. Du øver på Utvikling av Electron-skrivebordsapper 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 Utvikling av Electron-skrivebordsapper?
Ingen tidligere erfaring er nødvendig. Utvikling av Electron-skrivebordsapper 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 1 av 4.
Hvor lang tid tar leksjonen «Plattformuavhengig pakking»?
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 Utvikling av Electron-skrivebordsapper-leksjonen?
Ja. Alle Utvikling av Electron-skrivebordsapper-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
- Plattformuavhengig pakking
- Kodesignering og notarization
- Distribusjon via appbutikker
- Automatisere utgivelser med CI/CD