В предыдущей статье мы рассмотрели простой http-сервер. В этой статье разберём параметры приложений. Создадим параметр для dev-сервера и сделаем параметр для задания порта сервера по средством параметра.
Для начала разберем, что такое параметры приложения. Передача параметров приложения осуществляется по средство задания параметров после app.js или любого js файла который запускается через команду node. Пример передачи параметров представлен на скриншоте ниже.
В app.js добавим вывод в консоль для просмотра всех параметров переданных в приложение через команду console.log(process.argv). И после запуска приложения с ранее показанными параметрами можно увидеть следующие параметры.
Нулевой элемент массива показывает маршрут до исполняемого файла node.js. Первый элемент массива показывает маршрут до файла, который был запущен в команде ранее. Остальные элементы являются передаваемыми параметрами.
Что бы не создавать руками парсинг данного массива, воспользуемся готовым пакетом. Произведем установку:
pnpm i minimis
После установки пакета давайте посмотрим, что мы получаем при парсинге тех же параметров. Для этого необходимо подключить пакет и вывести в консоль, как представлено на скришоте ниже:
Теперь произведем запуск нашего приложение повторно через node, и в консоле мы увидим структурированные данные после парсинга, а так же полный вывод данных с process.argv.
Первая строка показывает нам уже распаренные данные по средством пакета, после данной строки отображается знакомый нам вывод process.argv. Как ведите с подготовленными данными можно уже в целом работать. Теперь давайте применим данный подход по назначению, для этого порт сервера выносим в отдельную переменную, которая может быть задана по сродством передачи параметра.
Порт сервера автоматически имеет порт 8000, который можно задать по средством параметра. Для dev-сервера изменять этот параметр мы не будем. В следующей части мы добавим еще один параметр dev, вынесем обработку параметров отдельный файл и создадим файл единой конфигурации сервера.
Подписывайтесь на наш телеграм канал (https://t.me/rebeltechru), в нем вы можете найти статьи по разработке и сами проекты.