BROWSER-SYNC
Verwenden der erstaunlichen Browser-Sync
- Aktualisieren Sie die Browser (beliebig), wenn sich der Quellcode ändert (HTML, CSS, Bilder usw.).
- unterstützen Windows, MacOS und Linux
- Sie können Ihre Code-Updates sogar (live) mit Ihren Mobilgeräten verfolgen
Installation unter MacOS (Hilfe zur Installation unter anderen Betriebssystemen anzeigen )
Installieren Sie NVM, damit Sie jede Node-Version ausprobieren können
brew install nvm # install a Node version manager
nvm ls-remote # list available Node versions
nvm install v10.13.0 # install one of them
npm install -g browser-sync # install Browser-Sync
Verwendung der Browsersynchronisierung für statische Websites
Sehen wir uns zwei Beispiele an:
browser-sync start --server --files . --host YOUR_IP_HERE --port 9000
browser-sync start --server --files $(ack --type-add=web:ext:htm,html,xhtml,js,css --web -f | tr \\n \ ) --host $(ipconfig getifaddr en0) --port 9000
Mit dieser --server
Option können Sie einen lokalen Server an einem beliebigen Ort in Ihrem Terminal ausführen und --files
angeben, welche Dateien für Änderungen nachverfolgt werden sollen. Ich bevorzuge es, spezifischer für die verfolgten Dateien zu sein, daher verwende ich im zweiten Beispiel die ack
Auflistung bestimmter Dateierweiterungen (wichtig ist, dass diese Dateien keine Dateinamen mit Leerzeichen haben) und verwende sie auchipconfig
, um meine aktuelle IP unter MacOS zu finden.
Verwendung der Browsersynchronisierung für dynamische Websites
Wenn Sie PHP, Rails usw. verwenden, haben Sie bereits einen laufenden Server, der jedoch nicht automatisch aktualisiert wird, wenn Sie Änderungen an Ihrem Code vornehmen. Sie müssen also den --proxy
Schalter verwenden, um die Browsersynchronisierung darüber zu informieren, wo sich der Host für diesen Server befindet.
browser-sync start --files $(ack --type-add=rails:ext:rb,erb,js,css,sass,scss,coffee --rails -f | tr \\n \ ) --proxy 192.168.33.12:3000 --host $(ipconfig getifaddr en0) --port 9000 --no-notify --no-open
Im obigen Beispiel läuft auf meinem Browser bereits eine Rails-App 192.168.33.12:3000
. Es läuft wirklich auf einer VM mit einer Vagrant-Box, aber ich konnte über Port 3000 auf diesem Host auf die virtuelle Maschine zugreifen. Ich möchte --no-notify
die Browsersynchronisierung beenden und mir jedes Mal, wenn ich meinen Code ändere, eine Benachrichtigung über den Browser senden, und --no-open
das Browsersynchronisierungsverhalten stoppen, das beim Starten des Servers sofort eine Browserregisterkarte lädt.
WICHTIG: Nur für den Fall, dass Sie Rails verwenden, vermeiden Sie die Verwendung von Turbolinks bei der Entwicklung, da Sie sonst bei Verwendung der --proxy
Option nicht auf Ihre Links klicken können .
Hoffe, es wäre für jemanden nützlich. Ich habe viele Tricks ausprobiert, um den Browser zu aktualisieren (sogar einen alten Beitrag, den ich vor einiger Zeit mit AlfredApp zu dieser StackOverflow-Frage eingereicht habe), aber dies ist wirklich der richtige Weg. Keine Hacks mehr, es fließt einfach.
CREDIT: Starten Sie einen lokalen Live-Reload-Webserver mit einem Befehl