local-web-server определенно стоит посмотреть! Вот выдержка из файла readme:
локальный веб-сервер
Компактный модульный веб-сервер для быстрой разработки полного стека.
- Поддерживает HTTP, HTTPS и HTTP2.
- Маленький и 100% персонализированный. Загружайте и используйте только поведение, требуемое вашим проектом.
- Прикрепите настраиваемое представление, чтобы персонализировать способ визуализации действий.
- Программные интерфейсы и интерфейсы командной строки.
Используйте этот инструмент для:
- Создание интерфейсного веб-приложения любого типа (статического, динамического, одностраничного, Progessive Web App, React и т. Д.).
- Прототипирование серверной службы (REST API, микросервис, веб-сокет, служба отправки событий на сервере и т. Д.).
- Отслеживать активность, анализировать производительность, экспериментировать со стратегией кэширования и т. Д.
Local-web-сервер - это дистрибутив lws в комплекте с «стартовым пакетом» полезного промежуточного программного обеспечения.
Синопсис
Этот пакет устанавливает средство командной строки ws
(см. Руководство по использованию ).
Статический веб-сайт
Запуск ws
без каких-либо аргументов позволит разместить текущий каталог в качестве статического веб-сайта. Переход на сервер отобразит список каталогов или ваш index.html
, если этот файл существует.
$ ws
Listening on http://mbp.local:8000, http://127.0.0.1:8000, http://192.168.0.100:8000
Учебник по статическим файлам .
Этот клип демонстрирует статический хостинг плюс пару форматов вывода журнала - dev
и stats
.
Одностраничное приложение
Обслуживание одностраничного приложения (приложение с маршрутизацией на стороне клиента, например, приложение React или Angular) столь же тривиально, как указание имени вашей отдельной страницы:
$ ws --spa index.html
В случае статического сайта запросы на типовые пути SPA (например, /user/1
, /login
) вернут 404 Not Found
, поскольку файла в этом месте не существует. Однако, пометив index.html
как SPA, вы создаете это правило:
Если запрашивается статический файл (например, /css/style.css
), то обслуживайте его, если нет (например, /login
), то обслуживайте указанный SPA и обрабатывайте маршрут на стороне клиента.
Учебник SPA .
![SPA image](https://imgur.com/download/IQVmi8v)
перезапись URL-адресов и прокси-запросы
Другим распространенным вариантом использования является пересылка определенных запросов на удаленный сервер.
Следующая команда передает запросы на публикацию в блоге с любого пути, начинающегося с /posts/
до https://jsonplaceholder.typicode.com/posts/
. Например, запрос на /posts/1
будет проксирован до https://jsonplaceholder.typicode.com/posts/1
.
$ ws --rewrite '/posts/(.*) -> https://jsonplaceholder.typicode.com/posts/$1'
Руководство по переписыванию .
Этот клип демонстрирует вышеупомянутое плюс использование --static.extensions
для указания расширения файла по умолчанию и --verbose
для мониторинга активности.
HTTPS и HTTP2
Для HTTPS или HTTP2 передайте флаги --https
или --http2
соответственно. См. Вики для дополнительных параметров конфигурации и руководства о том, как получить "зеленый замок" в вашем браузере.
$ lws --http2
Listening at https://mba4.local:8000, https://127.0.0.1:8000, https://192.168.0.200:8000