4

Ich bin immer noch neu in der Elektronen-Ökosystem- und Desktop-Entwicklung im Allgemeinen, aber was ich tun möchte, ist die Schnittstelle mit einer Open-Source-Anwendung von Drittanbietern, die mit meiner Software mitgeliefert wird. Erstens bin ich unsicher, was die zu verteilenden Paketoptionen sein sollen. Ist es üblich, zwei Downloads zu haben, einen für Benutzer, die bereits die Drittanbieter-Binärdatei installiert haben, und eine andere, die sie enthält? Und wie gehe ich vor, um Pakete zu verpacken und Binärdateien zu installieren? Sollte dies eine Option auf meinem package.json sein? Welche Art von Skript sollte ich ausführen? Gibt es irgendwelche npm-Module, um dies zu erleichtern?Wie bündelt man eine Drittanbieter-Binärdatei mit Electron?

bearbeiten - Ist es möglich, npm von meinem main.js aufzurufen, obwohl ein Benutzer Knoten zuvor noch nicht installiert hat? Ich weiß, Knoten ist mit dem Elektronpaket gebündelt, aber ist npm auch?

-Der binäre in diesem Fall ist PostgreSQL

+0

Auf der Suche nach einer ähnlichen Antwort auch. Im Falle einer Art von Speicher gebündelt mit der Anwendung können Sie einfach SQLite, das ist nur eine .sqlite-Datei, also keine Binärdateien enthalten. – pietrovismara

Antwort

2

Es gibt ein paar Optionen meiner Meinung nach kommen.

  1. Bündeln Sie ein Drittanbieter-Installationsprogramm mit Ihrer App. Das habe ich kürzlich gemacht. Beim ersten Durchlauf überprüfe ich, ob der Dienst, den ich brauche, installiert ist/läuft und wenn nicht, rufe ich das Installationsprogramm von Drittanbietern auf/starte es. Wenn das Installationsprogramm beendet wird, starte ich einfach app.relaunch() und beginne damit. Natürlich benötigen Sie für jede Plattform, die Sie unterstützen möchten, Installationsprogramme. Und Sie müssen herausfinden, wie Sie überprüfen können, ob die Software (richtig) für jede Plattform installiert ist.

  2. Bundle Binärdateien w/Sie App. Natürlich kannst du so ziemlich alles mit deiner Elektronen-App bündeln. Auch hier benötigen Sie Binärdateien für jede Plattform, die Sie unterstützen möchten. Und natürlich sollten sie nicht mit etwas verbunden sein, das der Standardbenutzer nicht auf seinem Rechner hat wie SDKs und zusätzliche Header ...

  3. Weniger bequem, aber Sie können immer etwas Start-up-Nachricht hinzufügen oder vorher- downloaden Sie Massage, die dem Benutzer sagt, dass er Software xy benötigt, um Ihre Anwendung zu laufen.

  4. Derivat von 1/2: Laden Sie das benötigte Material auf Anfrage herunter. Für Ihr Beispiel würde dies bedeuten, dass Sie das Betriebssystem und den Arch des Benutzers überprüfen und dann einfach die erforderlichen Installationsprogramme oder Binärdateien herunterladen, falls verfügbar. Sie könnten das Zeug auch auf dem Computer des Benutzers erstellen, obwohl dies wahrscheinlich die schlechteste/größte/komplexeste Lösung ist.

  5. Dann gibt es Dinge wie https://www.npmjs.com/package/pg - Sie immer npm überprüfen sollten, wenn jemand bereits gebaut, was Sie brauchen;)

Ich würde empfehlen, die große electron-builder verwendet, die w/Ihre Anwendung ein Stück Bündelung Sachen macht Kuchen.

Fühlen Sie sich frei zu kommentieren, wenn Sie weitere Informationen benötigen.

+0

Ich denke, diese Diskussion könnte hilfreich sein, um mehr in den Punkt zu kommen: https://stackoverflow.com/questions/33152533/bundling-precompiled-binary-into-electron-app – toioski

Verwandte Themen