Ответ 1
Решение довольно простое, но нелогичное imho. У меня был локальный экземпляр под http://project.local
. Изменение его на http://project.dev
решило проблему. Я запускаю OS X.
Я хотел бы использовать 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 или над командной строкой.
Любая идея?
Решение довольно простое, но нелогичное imho. У меня был локальный экземпляр под http://project.local
. Изменение его на http://project.dev
решило проблему. Я запускаю OS X.
У вас, скорее всего, проблема с 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
В моем случае я использовал окна. После анализа сетевой вкладки на Firebug я заметил, что не было изображений. Как только я исправил изображения, он работал быстро!