BrowserSync bardzo wolno

Chciałbym użyćBrowserSync do rozwoju. Jednak ładowanie strony (nie tylko ładowanie po zmianach) jest bardzo powolne.

Używam trybu proxy. Przeglądanie strony bez BrowserSync jest szybkie, jak powinno być.

Jednym z powodów może być następujący błąd podczas instalacji BrowserSync:

> [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

Zainstalowałem node od zera( używając brew i instalatora pakietów), ale nie mogłem pozbyć się błędu.

Ponadto, to nie robi różnicy, jeśli BrowserSync jest uruchamiany za pomocą Gulp lub przez wiersz poleceń.

Jakiś pomysł?
Author: Armel Larcier, 2014-07-17

3 answers

Rozwiązanie jest dość proste-ale nielogiczne imho. Moja lokalna instancja działała pod http://project.local. Zmiana na http://project.dev rozwiązała problem. Uruchamiam OS X.

 47
Author: Rico Leuthold,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-09 13:39:08

Najprawdopodobniej masz ten problem na macOS!

Z tego, co skompilowałem z moich badań, wynika to z wyszukiwania Bonjour IPv6 dla niektórych wyszukiwań DNS .domeny lokalne. Te wyszukiwania IPv6 tworzą opóźnienie czasowe do czasu wydania oryginalnego wyszukiwania DNS IPv4.

Rozwiązanie @ RicoLeuthold działa, ponieważ .domeny dev nie uruchamiają wyszukiwania Bonjour w systemie macOS. Ale zmiana wszystkich vhostów może być straszna, jeśli masz już wiele z nich uruchomionych .domeny lokalne z projektami skonfigurowanymi do ich używania .domeny lokalne też.

ALTERNATYWNE ROZWIĄZANIE

Alternatywą jest dodanie dodatkowego wpisu localhost IPv6 do pliku hosts (Zwykle / private/etc / hosts) dla każdego IPv4 .lokalne wejście.

Zmień zawartość hostów...

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

... do tej zawartości hostów...

::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


WSKAZÓWKA: UŻYJ EDYTORA REGEXP

Jeśli używasz edytora takiego jak Atom lub Sublime Text zdolnego do wyrażenia regularnego Szukaj / zamień, oto wzór aktualizacji pliku hosts:

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

Ten wzorzec doda również wpisy IPv6 do ogólnego wpisu localhost IPv4 u góry pliku hosts. Po wykonaniu wyszukiwania / zamiany powinieneś sprawdzić górną część pliku pod kątem zduplikowanego wpisu...

::1  localhost

... i usunąć jeden z duplikatów.

 7
Author: Jpsy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-04 14:40:03

W moim przypadku używałem windows. Po przeanalizowaniu zakładki network na firebug zauważyłem, że brakuje kilku zdjęć. Jak tylko naprawiłem zdjęcia, to działało szybko!

 0
Author: Maximus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-02 12:37:19