Подтвердить что ты не робот

BrowserSync чрезвычайно медленный

Я хотел бы использовать BrowserSync для разработки. Однако загрузка страницы (не только перезагрузка после изменений) происходит крайне медленно.

Я использую режим proxy. Просмотр страницы без BrowserSync выполняется быстро, как и должно быть.

Одной из причин может быть следующая ошибка при установке 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

Я установил node с нуля (с помощью brew и установщика пакетов), но не смог избавиться от этой ошибки.

Кроме того, не имеет значения, если BrowserSync запускается с помощью Gulp или над командной строкой.

Любая идея?

4b9b3361

Ответ 1

Решение довольно простое, но нелогичное imho. У меня был локальный экземпляр под http://project.local. Изменение его на http://project.dev решило проблему. Я запускаю OS X.

Ответ 2

У вас, скорее всего, проблема с macOS!

Из того, что я собрал из своих исследований, это результат поиска Bonjour IPv6, который выдается для определенных запросов DNS на .local domains. Эти проверки IPv6 создают задержку тайм-аута до тех пор, пока не будет выдан исходный DNS-поиск IPv4.

Решение @RicoLeuthold работает, потому что .dev не запускает поиск Bonjour на macOS. Но может быть ужасно изменить все ваши vHosts, если у вас уже есть много из них, работающих на .local доменах с проектами, настроенными на использование этих .local доменов тоже.

АЛЬТЕРНАТИВНОЕ РЕШЕНИЕ

Альтернативой является добавление записи локального хоста добавления IPv6 в файл hosts (обычно/private/etc/hosts) для каждой записи IPv4.local.

Измените это содержимое хостов...

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

... для этого содержимого хоста...

::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: используйте редактор REGEXP

Если вы используете такой редактор, как Atom или Sublime Text, способный искать/заменять regexp, вот шаблон для обновления вашего файла hosts:

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

Этот шаблон также добавит записи IPv6 в общую запись localhost IPv4 в верхней части файла hosts. После выполнения поиска/замены вы должны проверить верхнюю часть файла для дубликата записи

::1  localhost

Ответ 3

В моем случае я использовал окна. После анализа сетевой вкладки на Firebug я заметил, что не было изображений. Как только я исправил изображения, он работал быстро!