БРАУЗЕР-SYNC
Использование удивительной синхронизации браузера
- обновлять браузеры (любые) при изменении исходного кода (HTML, CSS, изображения и т. д.)
- поддержка Windows, MacOS и Linux
- Вы даже можете наблюдать за обновлениями своего кода (в реальном времени), используя свои мобильные устройства
Установка на MacOS (см. Их помощь для установки на другие ОС)
Установите NVM, чтобы вы могли попробовать любую версию Node
brew install nvm # install a Node version manager
nvm ls-remote # list available Node versions
nvm install v10.13.0 # install one of them
npm install -g browser-sync # install Browser-Sync
Как использовать браузер-синхронизацию для статических сайтов
Давайте посмотрим на два примера:
browser-sync start --server --files . --host YOUR_IP_HERE --port 9000
browser-sync start --server --files $(ack --type-add=web:ext:htm,html,xhtml,js,css --web -f | tr \\n \ ) --host $(ipconfig getifaddr en0) --port 9000
--server
Опция позволяет запускать локальный сервер где - нибудь вы в вашем терминале и --files
позволяют определить , какие файлы будут отслеживаться изменения. Я предпочитаю быть более точным для отслеживаемых файлов, поэтому во втором примере я использую ack
для перечисления конкретных расширений файлов (важно, чтобы у этих файлов не было имен файлов с пробелами), а также использую их ipconfig
для поиска моего текущего IP-адреса в MacOS.
Как использовать браузер-синхронизацию для динамических сайтов
Если вы используете PHP, Rails и т. Д., У вас уже есть работающий сервер, но он не обновляется автоматически при внесении изменений в код. Так что вам нужно использовать--proxy
переключатель, чтобы синхронизировать браузер, где находится хост для этого сервера.
browser-sync start --files $(ack --type-add=rails:ext:rb,erb,js,css,sass,scss,coffee --rails -f | tr \\n \ ) --proxy 192.168.33.12:3000 --host $(ipconfig getifaddr en0) --port 9000 --no-notify --no-open
В приведенном выше примере у меня уже есть приложение Rails, запущенное в моем браузере на 192.168.33.12:3000
. Он действительно работает на виртуальной машине с использованием Vagrant, но я мог получить доступ к виртуальной машине через порт 3000 на этом хосте. Мне нравится --no-notify
останавливать синхронизацию браузера, отправляя мне уведомление о предупреждении в браузере каждый раз, когда я меняю код, и --no-open
останавливать поведение синхронизации браузера, которое сразу же загружает вкладку браузера при запуске сервера.
ВАЖНЫЙ: всякий случай, если вы используете Rails, избегайте использования Turbolinks при разработке, иначе вы не сможете нажимать на ссылки при использовании этой --proxy
опции.
Надеюсь, это будет полезно для кого-то. Я перепробовал много хитростей, чтобы обновить браузер (даже старый пост, который я отправил по этому вопросу StackOverflow, используя AlfredApp некоторое время назад), но это действительно верный путь; нет больше хаков, это просто течет.
КРЕДИТ: Запустите локальный веб-сервер перезагрузки с помощью одной команды