javascript - Electron: electron-builder config

Indlæg af Hanne Mølgaard Plasc

Problem



Kan nogen forklare mig, hvordan electron-builder config fungerer? Jeg kan ikke forstå 95\% af tingene. Alt under API er en eller anden måde forvirrende. Der er 0 eksempler på faktisk hvordan noget skal tilføjes til build objekt. Jeg mener, se på en simpel dev anmodning: Jeg vil oprette Windows og Linux build. Jeg kopierer/indsætter nogle kode og jeg kom ud med fillowing: [9]


{
  "name": "Test",
  "version": "1.0.0",
  "author": "Test Ltd.",
  "description": "Test",
  "devDependencies": {
      ...
  },
  "build": {
    "appId": "Test",
    "extraFiles": {
      "from": "./build",
      "to": "./dist"
    },
    "win": {
      "icon" : "build/images/icon.ico",
      "target": ["portable"]
    },
    "linux": {
      "icon" : "build/images/icon.png",
      "target": ["pacman"]
    }
  },
  "scripts": {
    "pack": "build --dir",
    "dist": "build"
  }
}



  1. Det opretter kun x64 Windows-pakke. I mappen dist er der en mappe kaldet win-unpacked og en .exe-fil. Linux-pakken er ikke der. Hvorfor?

  2. Hvordan angiver man buen (x64, x32)?

  3. Sådan bruger du tingene API ? Jeg forstod kun hvordan WinBuildOptions arbejder - jeg skulle skrive 'vinde' i 'build' -objektet for package.json.

  4. Hvad er Squirrel Events? Jeg redder dette, men kan ikke forstå det fra almindelig tekst.

  5. Eventuelle anbefalinger til en videoguide for 'Sådan opretter du et installationsprogram til Windows med Electron/electron-builder?' eller 'Sådan opretter du pakke til Linux og uploader den online, så folk med Linux kan downloade det med Electron/electron-builder?' Jeg kunne ikke finde nogen.


Bedste reference


Tag et kig på api mulighederne i github repo for elektronbyggeren, der bruger Windows-build-mulighederne og linux-build-mulighederne til at fungere. Beskrivelserne af hvert element udlægges ud for attributten/egenskaben til config. [10] [11] [12] [13]


Dette er et udpræget eksempel, men skal i det mindste give strukturen af, hvordan den skal kigge efter windows og linux:


    "build":{
        "appid":"yourid",
        "asar": true
        "linux":{
            "category": "...",
            "target": "..."
        },
        "win":{
            "target": "...",
            "certificateFile":"...",
            "publisherName": "..."
        }

    }


Der er en multi platform build side, du kan gennemgå. Specielt for at målrette mod en bestemt bueskytte bruger du kommandolinjemarkørerne. Fra dokumentationen: [14]



  Som standard bygges for nuværende platform og nuværende arch. Brug CLI-flag
  --mac, --win, --linux til at specificere platforme. Og --ia32, --x64 at angive arch.



Typisk er dette angivet som et npm-script og passeret på den måde, når du kører kommandoen electon-build. Hvad angår opbygning af platforme og potentielt manglende oplysninger, se venligst dette citat:



  Forvent ikke, at du kan bygge app til alle platforme på en platform.



Der ser ud til at være ekstra opsætning og konfiguration, der er nødvendig for at udvikle en Linux- og Windows-version baseret på det specifikke OS, du bruger. Jeg ville se på, hvad den side angiver i afhængighed.

Andre referencer 1


For at besvare en del af dit spørgsmål kan du ikke pakke en app, når du ikke er på den platform, du vil pakke, for eksempel hvis du er på vinduet, vil elektronbyggeren pakke Windows-app baseret på den maskine, du bruger konfiguration af vindmål [15]


For linux-mål, se her. Anbefalingen synes at være at bygge inde i en docker container, hvis du vil bygge til Linux. [16]