Эффективный http-сервер из командной строки

Blog © Митрошкин Михаил

Share:

Допустим, в вашей фронт-разработке используется некоторое количество AJAX-запросов. Проверяя локально всю масштабность вашей задумки, вы с большой вероятностью наткнётесь на ошибки. По причинам безопасности доступ к файловой системе через javascript ограничен. Как иначе, ведь кто-то может добраться до секретных ингридиентов ваших рецептов благополучия. Сегодняшние браузеры используют технологию совместного использования ресурсов CORS (Cross-origin resource sharing), которая и является гарантом безопасности, а также появления ошибок при локальном тестировании.

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

По-подробнее рассмотрим второй вариант. Установка сервера локально может стать трудоёмким и затяжным процессом. Да и к тому же, не всегда рационально проделать огромное количество операций и углубиться в настройки, лишь для того, чтобы рассмотреть детали отклика малюсенького скриптика.

И, вуаля, есть не уникальное, но очень простое решение - элементарный http-server из командной строки.

> http-server

Эта маленькая строчка позволит вам мнгновенно включить небольшой локальный http-сервер, с помощью которого можно без труда тестировать, разрабатывать и обучаться новым приёмам.

Если у вас еще не установлен NPM, то вам сюда: https://nodejs.org/en/download/

Если уже есть, в командной строке набираем:

> npm http-server install -g

Устанавливаем сервер глобально -g, для того, чтобы в дальнейшем можно было запускать его простой командой.

Готово. Теперь заходим в папку с нашим проектом и пишем команду:

> http-server

Теперь в браузере набираем localhost:8080 и развлекаемся со своим приложением. По умолчанию сервер обращается к индексовой странице папки из-под которой запускается, либо к подпапке public, а также на порту 8080. Конечно же, параметры запуска можно изменить и настроить по своtq необходимости:

> http-server [path] [options]

-p - порт (по умолчанию 8080)

-a - адрес (по умолчанию 0.0.0.0)

-e - расширение для файлов (по умолчанию .html)

-s --silent - не выводит логи в консоли

-o - открыть окно браузера сразу после запуска сервера

-h - помощь

Другие настройки можно найти у разработчиков: https://github.com/indexzero/http-server, https://www.npmjs.com/package/http-server