Ich habe eine Web-App mit einem NodeJS + Express + GraphQL + MongoDB-Backend und einem ReactJS + Apollo-Frontend entwickelt. Ich möchte diese Anwendung lokal bereitstellen. Ist das überhaupt möglich?
Ich bin auf Dutzende von "Bereitstellen bei Heroku", "Bereitstellen bei Digital Ocean", "Bereitstellen bei Github" usw. gestoßen. Aber keine erklärt, wie die Bereitstellung lokal erfolgt.
Im Moment führe ich aus: nodemon server
für das Backend und npm start
für das Frontend. Ich sehe die Anwendung, die auf http://localhost:3000/
läuft (ich verwende cors, um das Frontend mit dem Server zu verbinden, der auf Port 3001 läuft).
Ich möchte einfach zu http://localhost:3000/
gehen und die App sehen, ohne die Befehle npm start
und nodemon server
ausführen zu müssen. Ist das möglich? Wenn ja, wie mache ich das?
Mein lokaler Server ist meines Wissens kein WAMP-Server (unser Betriebssystem ist jedoch Windows). Die IT-Abteilung sagte mir, dass es eine ist
[...] normaler, normaler alter Server. Die Adresse lautet localhost unter Port 3000. Sie können bei Bedarf einen weiteren Port an 3001 öffnen. Gerade Lass dein Zeug auf dem Laufwerk C: und du solltest gut sein. Ich habe Ich habe noch nie von Node oder React gehört, also kann ich nicht helfen, wenn Sie Fragen haben.
Irgendwelche Ideen? Vielen Dank im Voraus für Ihre Hilfe!
UPDATE
Es scheint ein bisschen Verwirrung zu geben, wonach ich suche. Ich versuche, dies lokal bereitzustellen.
Nehmen wir an, auf Ihrem lokalen Computer (Ihrem Laptop zu Hause) gehen Sie zu localhost: 3000 in Ihrem bevorzugten Browser. Wenn Sie nicht etwas für localhost in diesem Moment servieren, wird nichts angezeigt, es wird "weigern sich zu verbinden" oder so etwas sagen. Ich möchte jeden Rechner im Netzwerk öffnen können, wenn ich zu localhost: 3000 gehe und meine reagierende Site erscheint und funktioniert ... macht das mehr Sinn?
Ich möchte nicht, dass dies Entwicklungsmodus ist. Ich möchte, dass dieses Projekt auf localhost erstellt wird ... Ich denke, dass dies nicht möglich ist.
Um das Problem zu lösen, können Sie ein Startskript erstellen, das npm start
und nodemon server
ausführt. Vergewissern Sie sich, dass der Server immer aktiv ist. Beachten Sie jedoch, dass alle Fehler Ihren Server stoppen und der Server nicht neu geladen wird, wenn Sie ihn nicht konfigurieren.
Wie ich es verstanden habe, möchten Sie es auf einem lokalen Server bereitstellen, nicht auf local auf Ihrem Entwicklungsgerät.
Ich habe darüber nachgedacht ... aber ich bin mir nicht so sicher, dass es immer gut läuft ... :(
Wie können Sie einen Server verwenden, wenn dieser nicht läuft? Genau wie WAMP (auf dem Apache läuft) oder was auch immer Sie dort rollen, muss es laufen. Also, machen Sie es einfach zu einem Hintergrundprozess wie slawomir vorgeschlagen.
PS: Ich glaube nicht, dass Sie Knotenserver richtig verstehen. Lesen Sie this , um zu verstehen, warum Knotenserver neu geladen werden muss. Danach müssen Sie verstehen, dass kein Hot-Reload-Tool perfekt ist, und Sie müssen Ihren Server von Zeit zu Zeit neu starten.
PPS Ich weiß nicht was das bedeutet
[...] normaler, normaler alter Server. Die Adresse lautet localhost auf Port 3000.
wenn ein Server auf 3000 läuft, müssen Sie den Port für Ihren Server auf "smth" ändern (am häufigsten sind es 9000).
Um das Problem zu lösen, müssen Sie zuerst eine Stapeldatei mit der Erweiterung .bat or .cmd
erstellen und unter dieser Datei den folgenden Befehl 2 hinzufügen
nodemon server
npm start
Führen Sie dann die folgenden Schritte aus, um es als Startskript für Windows-Betriebssystem hinzuzufügen.
Die obigen Schritte sind beispielsweise, um eine Batchdatei zu erstellen und sie als Startskript für Benutzer von Windows 8 und 10 hinzuzufügen .. __ Zur besseren Übersicht oder zum Nachschlagen folgen Sie dem folgenden Link. reference-link
Ich würde folgendes versuchen:
Es gibt keine Möglichkeit, den Server neu zu laden, während er ausgeführt wird. Technisch könnte Ihre "Hauptdatei" eine andere Datei auf Änderungen überwachen lassen. Dies ist die Datei, in der Sie Ihr Server-Programm tatsächlich aufbewahren. Bei Änderungen verwerfen Sie Ihre aktuelle Logik und beginnen mit der Ausführung. Das heißt, dies auf diese Weise zu tun, wäre sehr zerbrechlich und eine sehr runde Sache. Es würde auch Ihr Frontend nicht reparieren, für das Sie eine ähnliche Lösung benötigen.
Stattdessen können Sie sich in das Save-Ereignis Ihres bevorzugten Editors einklinken und diese beiden Konsolenbefehle ausführen, sodass der Server bei jedem Speichern automatisch hochgefahren wird. (Stellen Sie sicher, dass auch vorhandene Server aufgeräumt werden.)