Ich denke darüber nach, eine Desktop-Anwendung zu entwickeln, die aus zwei Teilen besteht:
- Benutzeroberfläche (Java App zum Beispiel)
- Back-End-Node.js-Server
Die 2 Teile sind über Steckdosen miteinander verbunden. Fragen Sie nicht, warum ich weiß, dass es komisch ist.
Ich möchte den Kunden die Anwendung mit einem Installationsprogramm zur Verfügung stellen können. Ich möchte nicht, dass Benutzer Node.js selbst installieren müssen.
Gibt es eine Möglichkeit, einen Node.js-Server als eigenständigen Server zu installieren, dh Node.js muss nicht global auf dem System installiert werden?
Dies ist eine Frage für jede Umgebung (Windows, Linux, Mac OS X ...).
Antworten:
Sie können die Binärdateien mit Ihrer Anwendung bündeln. Sie müssen nichts installieren, um eine Node-App auszuführen. Die Binärdateien sind auf derselben Seite wie die Installationsprogramme verfügbar .
Sie müssen nur wissen, wo sich die Binärdateien befinden, aber ich gehe davon aus, dass Sie ein Installationsprogramm haben, das sie an einem bekannten Ort ablegen kann.
// To start the node process $ /path/to/binaries/npm install $ /path/to/binaries/node myApp.js
quelle
pkg
unter MacOS ausprobiert , generiert es eine eigenständige ausführbare Datei pro Plattform. Ich habe die.exe
auf einer sofort einsatzbereiten Windows-VM getestet und funktioniert einwandfrei.Update 04.05.2017 : Und es gibt ein neues Kind in der Stadt:
Update 14.11.2016 : Heutzutage scheinen Electron und nwjs die besten Optionen zu sein.
Original :
Es gibt eine Reihe von Schritten, die Sie ausführen müssen, um ein Installationsprogramm zu erstellen. Diese variieren je nach Betriebssystem. Zum Beispiel:
.pkg
Anweisungen dazu finden Sie hier: https://coolaj86.com/articles/how-to-create-an-osx-pkg-installer.html.deb
Anweisungen dazu finden Sie hier: https://coolaj86.com/articles/how-to-create-a-debian-installer.html.exe
oder erstellen..msi
Anweisungen dazu finden Sie hier im innosetup-Installationsprogramm: https://coolaj86.com/articles/how-to-create-an-innosetup-installer.htmlquelle
Node-Webkit ist eine Option, aber es ist wirklich nicht für eine Beziehung vom Typ "Server - Client" eingerichtet.
Eine weitere Option ist das Packen der Installationsprogramme für node.js mit Ihrem Anwendungsinstallationsprogramm. Wenn die Anwendung gestartet wird, können Sie einen node.js-Prozess starten. Ich weiß, dass einige Entwickler dies mit Titan gemacht haben. Hier sind ein bisschen mehr Informationen .
Hoffe das hilft!
quelle
Hier ist eine Option: Light Table ist eine Knoten-App, lässt sich jedoch gut installieren und integriert die GUI (Webkit) auf den meisten Betriebssystemen sauber.
Dazu wird das Node-Webkit genutzt . (Führt Knotencode direkt von einer HTML-Seite aus.) Hier ist die Verpackungsdokumentation .
quelle
Erwähnenswert ist Electron von GitHub. Wird zum Erstellen von Atom, Slack, Visual Studio Code und mehr verwendet.
quelle
Ich bin gerade auf nexe gestoßen - ein Tool, das "eine einzelne ausführbare Datei aus Ihrer node.js-App erstellt".
Ich habe es noch nicht ausprobiert, aber ich denke, das funktioniert sogar ohne Installationsprogramm - es wird nur eine einzige eigenständige Binärdatei erstellt.
quelle
Ich habe hier nach dem Desktop-App-Framework von Node.j gesucht (obwohl die Frage von OP zur Installation des node.js-Servers als Paket, nicht zur App mit Benutzeroberfläche).
Ich möchte Proton Native erwähnen, da es hier bisher fehlt. Es ist noch neu, sieht aber vielversprechend aus. Sie können React Native-Komponenten verwenden, um Desktop-Apps für verschiedene Plattformen zu erstellen (verwendet Qt unter der Haube).
quelle