it-swarm.com.de

BrowserSync extrem langsam

Ich würde gerne BrowserSync für die Entwicklung verwenden. Das Laden von Seiten (nicht nur nach Änderungen nachladen) ist jedoch extrem langsam.

Ich verwende den proxy-Modus. Das Durchsuchen der Seite ohne BrowserSync ist so schnell, wie es sein sollte.

Ein Grund kann der folgende Fehler sein, wenn ich BrowserSync installiere:

> [email protected] install /usr/local/lib/node_modules/browser-sync/node_modules/socket.io/node_modules/engine.io/node_modules/ws
> (node-gyp rebuild 2> builderror.log) || (exit 0)

CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
SOLINK_MODULE(target) Release/bufferutil.node
SOLINK_MODULE(target) Release/bufferutil.node: Finished
CXX(target) Release/obj.target/validation/src/validation.o
SOLINK_MODULE(target) Release/validation.node
SOLINK_MODULE(target) Release/validation.node: Finished

Ich habe den Knoten von Grund auf installiert (mit brew und dem Paketinstallationsprogramm), konnte den Fehler jedoch nicht entfernen.

Außerdem macht es keinen Unterschied, ob BrowserSync mit Gulp oder über die Befehlszeile ausgeführt wird.

Irgendeine Idee?

25
Rico Leuthold

Die Lösung ist ziemlich einfach - aber imho unlogisch. Ich hatte meine lokale Instanz unter http://project.local ausgeführt. Das Ändern in http://project.dev hat das Problem behoben. Ich verwende OS X.

49
Rico Leuthold

Was Sie erleben, ist höchstwahrscheinlich das Ergebnis der Bonjour-IPv6-Suche für DNS-Suchen in .local-Domänen. Diese IPv6-Lookups verursachen eine Zeitüberschreitung, bis der ursprüngliche IPv4-DNS-Lookup ausgegeben wird.

Die Lösung von @RicoLeuthold funktioniert, da .dev-Domains keine Bonjour-Lookups auf macOS auslösen. Es kann jedoch schrecklich sein, alle Ihre vHosts zu ändern, wenn bereits viele von ihnen auf .local-Domänen mit Projekten laufen, die für die Verwendung dieser .local-Domänen konfiguriert sind.

ALTERNATIVE LÖSUNG

Eine Alternative besteht darin, einen zusätzlichen IPv6-Localhost-Eintrag zu Ihrer hosts-Datei hinzuzufügen (unter Linux:/etc/hosts, unter macOS normalerweise:/private/etc/hosts) für jeden IPv4-.local-Eintrag.

Diesen Hostinhalt ändern ...

127.0.0.1   phpmyadmin.local
127.0.0.1   project1.local
127.0.0.1   project2.local

... zu diesem Host-Inhalt ...

::1 phpmyadmin.local
127.0.0.1   phpmyadmin.local
::1 project1.local
127.0.0.1   project1.local
::1 project2.local
127.0.0.1   project2.local

 
TIPP: VERWENDEN SIE EINEN REGEXP-EDITOR

Wenn Sie einen Editor wie Atom oder Sublime Text verwenden, der die Regex-Suche/Ersetzung durchführen kann, finden Sie hier ein Muster zum Aktualisieren Ihrer hosts-Datei:

Search:
(127.0.0.1)(.*)$
Replace:
::1$2\n$1$2

Dieses Muster fügt dem allgemeinen IPv4-Localhost-Eintrag oben in der Hosts-Datei auch IPv6-Einträge hinzu. Nach dem Suchen/Ersetzen sollten Sie den Anfang Ihrer Datei auf einen doppelten Eintrag von ... überprüfen.

::1  localhost

... und eines der Duplikate entfernen.

15
Jpsy

In meinem Fall benutzte ich Windows. Nach der Analyse der Netzwerk-Registerkarte von Firebug bemerkte ich, dass wenige Bilder fehlten. Sobald ich Bilder repariert habe, ging es schnell!

0
Maximus

Ich habe etwas anderes ausprobiert und sehr gut für mich gearbeitet.

Ich habe IPv6 auf meinem Mac mit dem folgenden Befehl deaktiviert:

networksetup -setv6off Wi-Fi

Sie können es so wieder einschalten:

networksetup -setv6automatic Wi-Fi

Ich wollte nicht zu .dev wechseln, da alle meine Sites eher wie folgt eingerichtet sind:

Live site: https://www.myawesomesite.com
Local site: https://dev.myawesomesite.com
0
Patrick Hladun