меню
- -
Browser sync - синхронизация окон браузеров

Browser sync - синхронизация окон браузеров

4 минуты
🙈 ∞
настройка browser sync

Вдохновившись этой серией статей, меня посетила идея приобщить всех знакомых дизайнеров/верстальщиков/разработчиков к великому к консоли. И начать я решил с самого вкусного - с синхронизации браузеров. На самом деле, утилит, каким-то образом помогающих работать веб-девелоперам, много и рассказать про каждую просто невозможно, но ведь главное в этом деле заинтересовать;)

Вспомните, как обычно происходит верстка макета? Вносим изменения в css. Сохраняем. Переключаемся на Chrome. Обновляем страницу. Тестируем. Переключаемся на Firefox. Обновляем страницу. Тестируем. Переключаемся на IE. Обновляем страницу. Тестируем. Повторяем сначала.

Каждый может делать это по-разному, но суть останется прежней: тестирование в разных браузерах очень долгий и муторный процесс. Но мы с вами сейчас попробуем его немного оптимизировать. И в этом нам поможет утилита browser-sync. Как можно прочитать на их сайте, программа умеет не только отслеживать изменения в файлах проекта и автоматически перезагружать вкладки, но и позволяет синхронизировать навигацию в каждом браузере. Вот так это работает:

Автообновление вкладки браузера

Более того, можно тестировать на нескольких устройствах, использующих общее подключение: телефоны, планшеты, компьютеры с разными мониторами. Все что нужно для их синхронизации: открыть url, предоставляемый этой утилитой.

Установка browser sync

Надеюсь я успел вас достаточно заинтересовать, потому что почти все, что мы будем делать ниже, может испугать:) Нужная нам утилита является модулем для Node.js. Для её установки нам потребуется пакетный менеджер npm, поставляемый с нодой. Кто знает что это такое, может сразу перейти на сайт http://www.browsersync.io/ и следуя простым инструкциям (нет, действительно, всего три шага) установить и настроить. Для тех кто никогда не слышал ни о npm, ни о Node.js, быстро пробежимся по установке.

Для начала идем на сайт Node.js, скачиваем и устанавливаем. Тут ничего сложного: далее, далее, далее, готово. Откройте консоль (я пользуюсь встроенный в PhpStorm) и выполните команду:

npm install -g browser-sync

Это команда установит browser-sync. Если в консоли появилось "'npm' не является внутренней или внешней командой...", просто перезагрузите компьютер и попробуйте снова.

Если все прошло удачно, поздравляю, все установлено и готово к работе. Ничего ведь сложного?

Настройка browser sync

Теперь откроем в консоли папку проекта (Shift + правый клик на папке, дальше - Открыть окно команд) и запустим browser-sync. Тут есть два варианта: если вы верстаете статичные файлы (*.html, *.css и др.) и если вы делаете динамику (*.php, например). В первом случае, для запуска утилиты в серверном режиме, выполните команду:

browser-sync start --server --files "*.css, *.html"

В консоли вы увидите url адреса для синхронизации, а также в вашем браузере по умолчанию откроется вкладка с индексовой страницей проекта:

Успешный запуск browser-sync

Помните, я говорил, что можно синхронизировать навигацию всех браузеров? Настраивается это здесь: переход по ссылкам, отправка форм, скроллинг.

Синхронизация навигации браузеров

Теперь, если вы используете локальный сервер, и вам нужно синхронизировать браузеры при изменении php (или других) файлов, необходимо использовать режим proxy:

browser-sync start --proxy "myproject.dev" --files "*.css, *.html, *.php, *.js"

Browser-sync имеет множество настроек, описывать их я не буду, просто дам ссылку: http://www.browsersync.io/docs/command-line/. Там же можно посмотреть и примеры использования.

Для выхода из программы, в окне консоли нажмите Ctrl+C, и введите y в ответ на подтверждение выхода.

Статья из подборки Разработка сайтов
Обсудим проект? Напиши в Телеграм, Whatsapp или ВК

Комментарии (21)

Чтобы оставить комментарий, авторизуйтесь. Войти или зарегистрироваться
Sergey Kondratiev 04:52 17.01.2020

А вообще можно както сразу видеть как отображется адаптивная верстка на экране телефона? Есть ли способы подключить телефон напрямую?

0 #
Игорь 15:01 31.08.2020

почему то не подключается к сайту через телефон

0 #
Yazykov Dmitry 14:45 21.01.2020

По идее нужно подключиться к той же сетке (удобно пользоваться wifi) и перейти по тому же адресу (localhost:3000).

0 #
Павел Который 16:33 15.11.2019

БЫСТРЫЙ способ АВТООБНОВЛЕНИЯ странички, при написании кода html css js, чекайте)

0 #
Vitallliy 01:12 25.05.2019

Новичкам. Обычно по умолчанию цепляется index.html. В адресной строке - localhost:3000. Если надо второй отслеживать, например, index2.html, то если он в этой же директории, введите в адресной строке localhost:3000/index2.html

0 #
Мужиг 10:24 06.10.2020

Спасибо! Помог!

0 #

Не помогло

0 #
Zap City24 19:15 15.02.2019

А у меня не хочет работать. В браузере ошибка Пишет: Cannot GET /
Заметил что в строчке Ui External не Адрес ip, как у многих, а такая штука.
Подскажите в чем причина, Node переустанавливал, все команды по списку...(((

0 #
Zap City24 19:59 15.02.2019

Ошибка была, что фаил index.html находился не в корневой папке

0 #
олег 13:54 30.09.2018

Как сделать такую сетку окон браузера?

0 #
Yazykov Dmitry 08:39 13.03.2019

На самом деле без каких-то дополнительных инструментов: просто перетаскиванием окон на удобное место)

0 #
AmiGator 15:28 27.07.2017

Все поставил, запустил, файлы отслеживаются, а браузер не обновляется автоматом. только в ручную по кнопке синхронизировать. фигня какая то!

0 #
Yazykov Dmitry 20:35 28.07.2017

Возможно, вы неправильно указали маску файлов отслеживания.

0 #
AmiGator 19:40 29.07.2017

ах если бы, вот смотрите, видит же он изменения, а перезагрузки окна нет

0 #
Nikolay Sergeevich 21:41 06.08.2018

С gulp'om однажды получил такую проблему, когда для Wordpress темы указал 2 body
Консоль работает, а браузер сам не обновляет.

0 #
Василий Шалашов 18:31 04.07.2017

спасибо большое, статейка годная, здорово выручила!)

0 #
Yazykov Dmitry 15:20 05.07.2017

Спасибо!

0 #

Очень полезная статья!

0 #
Yazykov Dmitry 09:53 08.04.2017

Спасибо!

0 #
Альфред 13:35 02.04.2016

Отличная статья!!!

0 #
Yazykov Dmitry 16:06 02.04.2016

Спасибо)

0 #
Telegram
+
tg
Мы в Telegram Читай первым уникальный контент
+
Подпишись на наш Телеграм канал