BROWSER-SYNC
Використання дивовижної браузера-синхронізації
- оновити веб-переглядачі (будь-які) при зміні вихідного коду (HTML, CSS, зображення тощо)
- підтримка Windows, MacOS та Linux
- ви навіть можете дивитись оновлення коду (наживо) за допомогою своїх мобільних пристроїв
Встановлення на MacOS (перегляньте їх допомогу для встановлення на іншій ОС)
Встановіть NVM, щоб ви могли спробувати будь-яку версію вузла
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
. Він дійсно працює на VM за допомогою коробки Vagrant, але я міг отримати доступ до віртуальної машини, використовуючи порт 3000 на цьому хості. Мені подобається --no-notify
зупиняти синхронізацію браузера, надсилаючи мені сповіщення про браузер щоразу, коли я змінюю свій код, і --no-open
зупиняю поведінку синхронізації браузера, яка негайно завантажує вкладку браузера при запуску сервера.
ВАЖЛИВО: На всякий випадок, коли ви використовуєте Rails, уникайте використання Turbolinks при розробці, інакше ви не зможете натискати на ваші посилання під час використання --proxy
опції.
Сподіваюся, комусь це буде корисно. Я пробував багато хитрощів для оновлення браузера (навіть старий пост, який я подав на це питання StackOverflow, використовуючи час AlfredApp), але це справді шлях; більше не хакі, воно просто тече.
КРЕДИТ: Запустіть локальний веб-сервер для перезавантаження з однієї команди