2017-06-27 1 views
5

Ich betreibe eine Webanwendung auf einem lokalen Firebase-Server (die mit 'Firebase Serve' gestartet wird).Firebase lokalen Server> wie Browser aktualisieren, wenn Dateien geändert

Was ich will, ist, einen Weg finden, um meinen Client (Browser-Skript) zu sagen, dass mein Projekt Dateien um sie geändert haben ein Browser aktualisiert zu initiieren.

In früheren Projekten meine Lösung (ein NodeJS Server ausgeführt wird) war eine websocket Verbindung zwischen Backend und Frontend zu etablieren. so jedes Mal wurde der Server neu gestartet (... aufgrund Datei ändert, dass ich für die Verwendung Beobachter wie nodemon beobachtet ...), mein server Code eine neue Verbindung an den Client setzen, Das hörte auf dieses Ereignis und aktualisiert den Browser darauf.

Das Problem mit meinem Feuerbasis Server ist, dass ich nicht meine eigenen Backend-Code und dass ich keine Informationen darüber, wie meine Klienten sagen gefunden haben laufen, dass meine Projektdateien geändert haben . In der Tat startet mein Firebase-Server überhaupt nicht neu, da es in dieser Backend-less-Umgebung noch keine Notwendigkeit dafür gibt. Aber ich denke, zumindest könnte dies getan werden, indem ich meinen Firebase-Server über nodemon oder so etwas ausführe.

Zusätzliche Informationen: Ich habe versucht, einen Weg mit Webpack-dev-Server zu finden, der Auto-Refresh integriert hat, aber konnte keine Verbindung zwischen beiden Servern oder eine Möglichkeit finden, sie auf verschiedenen Ports zu integrieren und verschiedene zu lösen Aufgaben.

Meine Fragen könnten sein: Sind irgendwelche Lösungen im Firebase Server implementiert? Gibt es eine Möglichkeit, clientseitige Ereignisse auszulösen, wenn sich Dateien geändert haben? Oder eventuell meine eigene Firebase-Backend-Middleware laufen zu lassen, um eine Websocket-Verbindung mit dem Client zu erstellen?

Alle Vorschläge sind willkommen.


edit:

fand ich einen Weg mit browsersync. Da browsersync als Proxy für andere Server dienen kann (in meinem Fall der Firebase-Server), ist es ziemlich einfach einzurichten.

Nach der Installation gehen Sie einfach zu Ihrem Projektverzeichnis und geben Sie zB:

Browser-Sync starten --proxy "localhost: 5000" --files "dist/*"

wo „localhost: 5000 "ist der Host und Port, den Ihr aktueller Server adressiert und" dist "ist das Verzeichnis, das auf Änderungen überwacht werden sollte.

Standardmäßig liefert Browsersync Ihre App unter "localhost: 3000".

Weitere Informationen über browsersync homepage

Antwort

3

Wenn Sie die Webseite neu zu laden, dienen die Firebase CLI-Tools der neuesten Dateien von der lokalen Festplatte.

Wenn Sie eine lokale Datei auf der Festplatte ändern, werden die Firebase CLI-Tools nicht automatisch diese Datei im Browser neu laden. Das Firebase CLI weiß sehr wenig über den Inhalt, den es bedient, definitiv zu wenig, um dieses Feature im Moment zu implementieren.

Wenn Sie möchten, dass diese Funktion hinzugefügt wird, schlage ich vor, dass Sie sie als feature request on the firebase-tools repo hinzufügen.

+1

danke. Du hast mich in die richtige Richtung gebracht. wie du schon sagtest, Firebase ist meistens "interessiert" im Backend einer App. Frontend-Aufgaben könnten daher besser von anderer Software gelöst werden. obwohl es nett wäre, wenn firebase server eine solche funktion hätte – sasha

Verwandte Themen