livereload · PyPI

Это совершенно новый LiveReload версии 2.0.0.

Скачать на PyPi

Установка

Python LiveReload предназначен для веб-разработчиков, знающих Python.

Установите Python LiveReload с помощью pip:

 $ pip установить livereload 

Если у вас не установлен pip, попробуйте easy_install:

 $ easy_install livereload 

Интерфейс командной строки

Python LiveReload предоставляет утилиту командной строки livereload для запуска сервера в каталоге.

По умолчанию он будет прослушивать порт 35729, общий порт для расширений браузера LiveReload.

 $ livereload --help
использование: livereload [-h] [-p ПОРТ] [-w WAIT] [каталог]
Запустите сервер `livereload`
позиционные аргументы:
  каталог Каталог для отслеживания изменений
необязательные аргументы:
  -h, --help показать это справочное сообщение и выйти
  -p ПОРТ, --port ПОРТ Порт для запуска сервера `livereload`
  -w WAIT, --wait WAIT Задержка перед перезагрузкой 

Старые версии Python LiveReload использовали Guardfile для описания необязательных дополнительных правил для файлов, которые нужно отслеживать, и создавать команды для запуска при изменениях.

Это противоречило другим инструментам, которые использовали тот же файл для своей конфигурации, и больше не поддерживается, начиная с Python LiveReload версии 2.0.0. Вместо Guardfile теперь вы можете написать сценарий Python, используя очень похожий синтаксис, и запустить его вместо приложения командной строки.

Пример скрипта: Сфинкс

Вот простой пример скрипта, который перестраивает документацию Sphinx:

 #!/usr/bin/env Python
с сервера импорта livereload, оболочки
сервер = сервер()
server.watch('docs/*.rst', shell('сделать html', cwd='docs'))
server.serve(root='docs/_build/html') 

Запустите его, затем откройте http://localhost:5500/, и вы сможете увидеть изменения в документации в режиме реального времени.

Руководство разработчика

Новый сервер livereload предназначен для разработчиков. Он может питать приложение wsgi сейчас:

 с сервера импорта livereload, оболочка
сервер = сервер (wsgi_app)
# запустить команду оболочки
server. watch('static/*.stylus', 'сделать статическим')
# запустить функцию
Оповещение о защите():
    распечатать('фу')
server.watch('foo.txt', предупреждение)
# вывод stdout в файл
server.watch('style.less', оболочка('lessc style.less', output='style.css'))
сервер.serve() 

Класс сервера принимает параметры:

сервер.часы

server.watch может отслеживать путь к файлу, каталог и шаблон глобуса:

 server.watch('путь/к/файлу.txt')
server.watch('каталог/путь/')
server.watch('glob/*.pattern') 

Вы также можете использовать другую библиотеку (например, formic) для более мощного добавление файла:

 для пути к файлу в formic.FileSet(include="**.css"):
    server.watch (путь к файлу, «сделать css») 

Вы можете отложить отправку сигнала перезагрузки на несколько секунд:

 # задержка 2 секунды на перезагрузку
server.watch('путь/к/файлу', задержка=2) 

сервер.сервис

Настройте сервер с помощью метода server.

serve. Он может создать статический сервер и сервер livereload:

 # использовать настройки по умолчанию
сервер.serve()
# livereload на другом порту
server.serve(liveport=35729)
# использовать пользовательский хост и порт
server.serve(порт=8080, хост='localhost')
# открыть веб-браузер при запуске на основе переменной окружения $BROWSER
server.serve(open_url_delay=5, отладка=ложь)
# установить пользовательский файл по умолчанию для открытия
server.serve(default_filename='example.html') 

оболочка

Мощная функция оболочки поможет вам выполнять команды оболочки. Ты можно использовать с server.watch:

 # вы можете перенаправить вывод команды в файл
server.watch('style.less', оболочка('lessc style.less', output='style.css'))
# команды могут быть списком
server.watch('style.less', shell(['lessc', 'style.less'], output='style.css'))
# работа с Makefile
server.watch('assets/*.styl', shell('создать активы', cwd='assets')) 

Интеграция фреймворков

Livereload может без проблем работать с вашим любимым фреймворком.

Джанго

Для Django включена команда управления.

Использовать просто

Доступные параметры, такие как хост и порты, см. в ./manage.py livereload -h.

Чтобы автоматически обслуживать статические файлы, такие как собственная команда runserver, вы должны использовать dj-static. (следуйте простым инструкциям там).

Колба

Wrap Flask с livereload намного проще:

 # приложение является объектом Flask
приложение = создать_приложение()
# не забудьте использовать режим DEBUG для автоматической перезагрузки шаблонов
# https://github.com/lepture/python-livereload/issues/144
приложение.отладка = Истина
сервер = сервер (app.wsgi_app)
# сервер.watch
сервер.serve() 

Бутылка

Приложение Wrap the Bottle с сервером livereload:

 # Без этой строки шаблоны не будут автоматически перезагружаться из-за кэширования.
# http://bottlepy.org/docs/dev/tutorial.html#templates
бутылка.отладка(Истина)
приложение = Бутылка()
сервер = сервер (приложение)
# сервер.
watch сервер.serve()

Отчет о безопасности

Чтобы сообщить об уязвимости системы безопасности, используйте Контакт службы безопасности Tidelift. Tidelift будет координировать исправление и раскрытие информации.

Живая перезагрузка | Ионная документация

Использование параметра Live Reload перезагрузит браузер или веб-представление при изменении кода приложения в среде разработки. Это особенно полезно для разработки с использованием аппаратных устройств.

Live Reload — это объединенный термин. С ionic serve Live Reload просто означает перезагрузку браузера при внесении изменений. Live Reload также можно использовать с Capacitor и Cordova, чтобы обеспечить одинаковый опыт работы на виртуальных и аппаратных устройствах, что устраняет необходимость повторного развертывания собственного двоичного файла.

Поскольку Live Reload требует, чтобы веб-представление загружало ваше приложение с URL-адреса, размещенного на вашем компьютере, а не просто читало файлы на устройстве, настройка динамической перезагрузки для аппаратных устройств может быть сложной.

Как и при обычном развертывании устройства, вам потребуется кабель для подключения устройства к компьютеру. Разница в том, что Ionic CLI настраивает веб-представление для загрузки вашего приложения с сервера разработки на вашем компьютере.

Capacitor​

Чтобы использовать Live Reload с Capacitor, убедитесь, что вы используете виртуальное устройство или аппаратное устройство, подключенное к той же сети Wi-Fi, что и ваш компьютер. Затем вам нужно будет указать, что вы хотите использовать внешний IP-адрес для сервера разработки, используя --внешний флаг .

 $ ionic конденсатора запустить ios -l --external 
$ ионного конденсатора запустить android -l --external

Помните, что с опцией --external другие пользователи в вашей сети Wi-Fi смогут получить доступ к вашему приложение.

Cordova

Android

Для устройств Android Ionic CLI автоматически переадресует порт сервера разработки. Это означает, что вы можете использовать адрес localhost , и он будет относиться к вашему компьютеру при загрузке в веб-представлении, а не к устройству.

Следующая универсальная команда запустит сервер live-reload на localhost и развернет приложение на устройстве Android с помощью Cordova:

 ionic cordova run android -l 
iOS​

Для устройств iOS , перенаправление портов пока не вариант. Это означает, что вам нужно будет подключить свое устройство к той же сети Wi-Fi, что и ваш компьютер, и использовать внешний адрес для сервера разработки.

В некоторых случаях интерфейс командной строки Ionic не знает адрес для настройки веб-представления, поэтому вам может быть предложено выбрать его. Обязательно выберите адрес вашего компьютера в сети Wi-Fi.

Следующая универсальная команда запустит сервер live-reload на со всеми адресами и развернет приложение на устройстве iOS с помощью Cordova:

 ionic cordova run ios -l --external 

Помните, вариант --external , другие пользователи вашей сети Wi-Fi смогут получить доступ к вашему приложению.

  • В Cordova используйте параметры --device , --emulator и --target для сужения целевых устройств. Используйте --list опция для отображения всех целей. См. использование в документации команды.
  • Вы можете разделить процесс сервера разработки и процесс развертывания с помощью ionic serve и параметра --livereload-url ionic cordova run или ionic конденсатора run .
  • Для Android можно настроить adb на постоянную переадресацию портов во время работы сервера adb (см. adb reverse ). После настройки переадресации портов внешний адрес больше не потребуется. Вы также можете настроить мост adb через TCP, чтобы для последующих развертываний больше не требовался USB-кабель.

Использование SSL

При динамической перезагрузке по умолчанию будет использоваться HTTP, что приведет к сбою веб-API, требующих безопасного контекста (например, веб-криптографии).