Wenn Sie ein Webentwickler sind und die Live -Server -Erweiterung in VSCODE nicht verwendet haben, sind Sie überhaupt ein Entwickler? Nur ein Scherz. Aber haben Sie darüber nachgedacht, wie das unter der Motorhaube funktioniert? Versuchen wir im heutigen Blog zu verstehen, wie das mit einer praktischen Implementierung mit Golang funktioniert. Warum Golang? Nun, ich erforsche Golang heutzutage und was ist besser zu lernen, als ein Projekt zu bauen? Also genug Kontext (nicht der in Golang), fangen wir an.
Der Live -Server lädt also den Browser automatisch neu, wenn er eine Änderung in HTML-, CSS- oder JS -Dateien erkennt. Es begann mit dem Servieren dieser statischen Dateien über einen HTTP -Server. Unter der Haube verwendet es einen Dateibeobachter wie fSnotify (wir werden dies für unser Projekt verwenden), FSWatch (im UNIX-basierten Dateisystem) oder Chokidar (für NodeJs), um das Projektverzeichnis kontinuierlich für Dateiänderungen zu überwachen (im Grunde genommen, wenn Sie any-Dateien mit Extensions .html, .css, .js, .js, .js,.
Im Kern verwendet es eine WebSocket -Verbindung zwischen dem Server Ihres (Knoten -JS) und dem Browser. Wenn der Server eine Datei ändert, wird eine Reload -Benachrichtigung über WebSocket an den Browser gesendet. Der Browser lädt wiederum die Seite neu, um die neuen Änderungen widerzuspiegeln. Zusätzlich verwendet es CSS -Injektion (Aktualisierung von nur Stilen ohne vollständige Reload), HMR (Hot -Modul -Ersatz) für JavaScript -Modul. Dies stellt sicher, dass der Entwickler ein Echtzeit -Feedback erhält, ohne den Browser nach jeder Änderung des Code manuell neu zu laden.Projektübersicht
1. Servieren statische Dateien
http.Handle("/", http.FileServer(http.Dir("./static")))2. Endpunkt neu laden
3.. Anschauen von Dateiänderungen
http.Handle("/", http.FileServer(http.Dir("./static")))5. Ausführen des Servers
http.Handle("/", http.FileServer(http.Dir("./static")))Letzte Gedanken
Mit nur wenigen Zeilen von Go -Code konnte ich den Workflow für die statische Webentwicklung verbessern, und ich freue mich darauf, dieses Tool noch weiter zu verfeinern.
Schauen Sie sich den Code an: serve-it github
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3