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?
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.
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.
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!
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