Start a Local, Live-reload Web Server with One Command

Starten Sie einen lokalen Live-Reload-Webserver mit einem Befehl

Als Entwickler benötigen wir oft einen lokalen Webserver, um etwas zu testen, an dem wir arbeiten, und haben oft keine Zeit, ein komplexes System für einen schnellen Test einzurichten. Wir brauchen etwas sofort einsatzbereites und einfach zu verwendendes, um unsere neuesten Codeänderungen jetzt zu überprüfen!

Hier ist ein kurzer Tipp zum Starten eines lokalen Webservers mit einem Befehl!

Der von uns verwendete Server verfügt über Live-Reload, was bedeutet, dass Ihr Browser automatisch aktualisiert wird, wenn Sie eine Änderung an Ihrem Code vornehmen!

Oh, Sie müssen auch auf Mobilgeräten, Tablets und/oder Ihrer Spielekonsole testen? Kein Problem! Verbinden Sie jedes Ihrer Geräte mit Ihrem lokalen Server und beobachten Sie, wie sie alle in Echtzeit aktualisiert, verlinkt und gescrollt werden! 😱

Lass uns gehen! 🚀

Lassen Sie uns zuerst einige Dinge installieren

Node.js und npm

Stellen Sie wie bei den meisten Dingen heutzutage sicher, dass Sie Node.js und npm installiert haben. Sie können dies tun, indem Sie das offizielle Installationsprogramm für Ihre Plattform von NodeJS.org herunterladen .

Öffnen Sie nach der Installation von Node.js Ihre Terminalanwendung, um zu überprüfen, ob npm installiert und betriebsbereit ist, indem Sie den folgenden Befehl ausführen:

 npm -v

Dies sollte die aktuelle Versionsnummer zurückgeben.

Screenshot meiner Terminal-Anwendung Hyper Terminal mit der Ausgabe des Befehls „npm -v“. Der resultierende Text zeigt "5.5.1" an.

Browsersync

Als nächstes verwenden wir npm , um unsere Serveranwendung Browsersync zu installieren! Dies ist die App, die all die schweren Aufgaben erledigt, wie z. B. das Bereitstellen Ihrer Dateien, das Neuladen aller verbundenen Browser beim Speichern von Dateien und vieles mehr!

Geben Sie den folgenden Befehl ein und führen Sie ihn aus:

 npm install -g browser- sync

Dadurch wird browser-sync "global" installiert, sodass Sie es zum Bereitstellen und Testen Ihrer Arbeit in jedem Verzeichnis auf Ihrem Computer verwenden können.

Nachdem wir nun alles installiert haben, richten wir den Befehl zum Starten des Servers in Ihrem Terminal ein!

Erstellen des Befehls

Eines der coolsten Dinge bei der Verwendung des Terminals und der Arbeit mit der Befehlszeilenschnittstelle ist, dass Sie Ihre eigenen benutzerdefinierten Befehle erstellen können, die dann eine Reihe anderer Befehle für Sie ausführen!

Wir werden genau dies tun, um unseren Server mit einem einfachen Befehl auszuführen: serve .

Öffnen Sie die Shell-Konfiguration

Ein benutzerdefinierter Befehl wird als "Alias" bezeichnet, der in Ihrer Terminal-Shell-Konfigurationsdatei erstellt wird.

Standardmäßig führt das macOS -Terminal die Bash -Shell aus. Öffnen Sie in Ihrem Home-Verzeichnis ( ~/ ) entweder die Datei .bash_profile oder, falls diese nicht vorhanden ist, die Datei .bashrc . Falls auch eines nicht existiert, erstellen Sie es einfach und wir nehmen die Änderungen dort vor.

Mein bevorzugter Texteditor ist Atom . Wenn Sie diesen also installiert haben, führen Sie Folgendes in Ihrem Terminal aus, um Ihre Shell-Konfigurationsdatei zu bearbeiten:

 atom ~/.bashrc

Scrollen Sie zum Ende dieser Datei, da wir unsere Ergänzungen ganz am Ende einfügen werden.

Holen Sie sich Ihre lokale IP-Adresse

Die erste hinzuzufügende Zeile wird verwendet, um die aktuelle lokale IP-Adresse Ihres Computers abzurufen. Dies ist praktisch, wenn Sie etwas anderes als Ihr Heimnetzwerk testen.

Fügen Sie dies Ihrer Datei hinzu:

 export LOCAL_IP=`ipconfig getifaddr en0`

Diese Zeile erstellt eine neue Variable namens $LOCAL_IP und speichert Ihre lokale Netzwerk-IP-Adresse. Warum brauchen wir diese Informationen? Du wirst es bald herausfinden!

Richten Sie den Serve-Befehlsalias ein

Die andere Zeile, die wir hinzufügen müssen, ist der eigentliche Befehlsalias, der den Browsersync-Server startet.

Fügen Sie diese Zeile zu Ihrer Shell-Konfigurationsdatei hinzu:

 alias serve= "browser-sync start -s -f . --no-notify --host $LOCAL_IP --port 9000"

Lassen Sie uns aufschlüsseln, was in dieser Zeile steht.

  • Der erste Teil, alias , teilt unserer Shell-Umgebung mit, dass wir einen neuen, benutzerdefinierten Befehl erstellen möchten.
  • Was nach alias kommt, ist der Befehl, den wir eingeben. In diesem Fall lautet unser Befehl „ serve “. Die Zeichenfolge, die für diesen Befehl festgelegt ist, wird tatsächlich im Hintergrund ausgeführt.
  • Der browser-sync start startet den Browsersync-Server.
  • Die Option -s führt den lokalen Server aus.
  • Die Option -f teilt Browsersync mit, welche Dateien überwacht werden sollen. In diesem Fall verwenden wir den Punkt . Zeichen, um das aktuelle Terminal-Verzeichnis anzugeben.
  • Normalerweise gibt es beim Verbinden mit einem Browsersync-Server eine kleine Meldung, die eine Verbindung anzeigt. Wir verwenden die Option --no-verify , um diese Funktion zu entfernen.
  • Die Option --host legt die IP-Adresse des Host-Computers fest. Hier verwenden wir die zuvor erstellte Variable $LOCAL_IP .
  • Schließlich gibt die Option --port an, auf welchem ​​Port unser Server laufen soll.

Hinweis: Probieren Sie alle anderen verfügbaren Browsersync-Befehlszeilenoptionen aus , um Ihren Server anzupassen!

Screenshot des Atom-Editors, wobei die .bashrc-Datei zur Bearbeitung geöffnet ist. Die beiden oben beschriebenen Linien sind an Ort und Stelle zu sehen.

Jetzt speichern wir die Datei und probieren den neuen serve -Befehl aus!

Führen Sie den Befehl aus

Wechseln Sie in Ihrem Terminal zu einem Verzeichnis mit Projektdateien, an denen Sie gerade arbeiten. Ich überprüfe beispielsweise eine Änderung, die ich auf der Website des A11Y-Projekts vorgenommen habe, und möchte sie lokal testen.

Da sich meine Kopie der Site in ~/Sites/a11yproject.com/_site , würde ich den folgenden Befehl eingeben, um in dieses Verzeichnis zu wechseln:

 cd ~/Sites/a11yproject. com /_site

In diesem Verzeichnis befindet sich eine index``.html -Datei mit Inhalten und Stylesheets, die aus einem Unterverzeichnis verlinkt sind, zusammen mit allen anderen Dateien, aus denen die Site besteht.

Ich werde den Serve-Befehl von hier aus ausführen:

 serve

Ihr Terminal sollte Informationen wie die folgenden ausgeben, Ihren Standardbrowser öffnen und die Seite index.html automatisch laden:

Screenshot von Hyper Terminal mit der Ausgabe des Befehls „serve“. Der resultierende Text zeigt "Access URLs:" mit einer Liste verfügbarer lokaler URLs an, zu denen eine Verbindung hergestellt werden kann. Die Liste enthält „Lokal: http://localhost:9000“ und „Extern: http://192.168.0.9:9000“. Darunter steht eine Meldung: „Serving files from: ./ Watching files…“

Wie in der Terminalausgabe angezeigt, ist der IP-Wert „Local:“ der Ihres eigenen Computers, http://localhost:9000 . Interessant ist hier jedoch die „External:“ IP. Dies ist ein weiterer Vorteil und die Verwendung der $LOCAL_IP Variablen in der Shell-Konfigurationsdatei.

Die Variable $LOCAL_IP fügt eine kurze Notiz Ihrer aktuellen IP-Adresse des lokalen Netzwerks hinzu, wenn Sie Ihren Server starten.

Verwenden Sie diesen Wert, wenn Sie auf einem Mobilgerät, Tablet oder einem anderen Computergerät mit einem Browser testen möchten!

Sehen Sie sich den serve -Befehl in Aktion an! 👇

Animiertes GIF eines Google Chrome-Browsers neben dem Apple iPhone Simulator. Die Animation zeigt beide Fenster, die in Echtzeit durch die lokale Kopie der Website des A11Y-Projekts scrollen und verlinken.


Ich hoffe, dieser Tipp war hilfreich, um einen lokalen Live-Reload-Server schnell zum Laufen zu bringen!

Gibt es andere Browsersync-Konfigurationen, die Sie empfehlen würden? Verwenden Sie eine andere Methode zum Starten eines lokalen Servers für Schnelltests? Lass es mich in den Kommentaren wissen! 🙌

Fröhliches Hacken! 💻😄💖

Zurück zum Blog