Фреймворк Node.js в основном используется для создания серверных приложений. Фреймворк можно легко использовать для создания веб-серверов, которые могут предоставлять пользователям контент.
Существует множество модулей, таких как модуль «http» и «запрос», который помогает обрабатывать запросы, относящиеся к серверу, в пространстве веб-сервера. Мы рассмотрим, как создать базовое приложение веб-сервера с помощью Node js.
Узел как веб-сервер с использованием HTTP
Давайте посмотрим на пример того, как создать и запустить наше первое приложение Node js.
Наше приложение собирается создать простой серверный модуль, который будет прослушивать порт № 7000. Если запрос сделан через браузер на этот порт №, то серверное приложение отправит клиенту ответ «Hello World».
Пояснение к коду:
- Основная функциональность функции require заключается в том, что она читает файл JavaScript, выполняет файл, а затем переходит к возврату объекта экспорта. Итак, в нашем случае, поскольку мы хотим использовать функциональные возможности модуля http, мы используем функцию require, чтобы получить желаемые функции из модуля http, чтобы их можно было использовать в нашем приложении.
- В этой строке кода мы создаем серверное приложение, основанное на простой функции. Эта функция вызывается всякий раз, когда к нашему серверному приложению поступает запрос.
- Когда запрос получен, мы говорим отправить ответ с типом заголовка «200». Это число является обычным ответом, который отправляется в заголовке http, когда клиенту отправляется успешный ответ.
- В самом ответе мы отправляем строку «Hello World».
- Затем мы используем функцию server.listen, чтобы наше серверное приложение слушало клиентские запросы на порту 7000. Здесь вы можете указать любой доступный порт.
Если команда выполнена успешно, при запуске кода в браузере будет показан следующий результат.
Выход:
На выходе
- Вы можете ясно видеть, что если мы перейдем к URL-адресу localhost на порту 7000, вы увидите строку «Hello World», отображаемую на странице.
- Поскольку в нашем коде мы специально упомянули, что сервер должен прослушивать порт 7000, мы можем просматривать вывод при переходе по этому URL-адресу.
Вот код для справки
var http=require('http')var server=http.createServer((function(request,response){response.writeHead(200,{"Content-Type" : "text/plain"});response.end("Hello World\n");}));server.listen(7000);
Обработка запросов GET в Node.js
Сделать GET-запрос для получения данных с другого сайта в Node.js. относительно очень просто. Чтобы сделать запрос Get в узле, нам нужно сначала установить модуль запроса. Это можно сделать, выполнив следующую строку в командной строке
запрос на установку npm
Приведенная выше команда запрашивает у диспетчера пакетов Node загрузку требуемых модулей запроса и установку их соответствующим образом.
После успешной установки модуля npm в командной строке отобразятся имя и версия установленного модуля: <имя> @ <версия>.
На приведенном выше снимке вы можете увидеть, что модуль «запрос» с номером версии 2.67.0 был загружен и установлен.
Теперь давайте посмотрим на код, который может использовать эту команду «запрос».
Пояснение к коду:
- Мы используем модуль «запрос», который был установлен на последнем шаге. Этот модуль имеет необходимые функции, которые можно использовать для GET-запросов к веб-сайтам.
- Мы отправляем запрос GET на www.google.com, а затем вызываем функцию при получении ответа. При получении ответа параметры (ошибка, ответ и тело) будут иметь следующие значения
- Ошибка - если при использовании запроса GET будет получена какая-либо ошибка, она будет записана здесь.
- Ответ. В ответе будут заголовки http, которые будут отправлены обратно в ответ.
- Тело - тело будет содержать все содержание ответа, отправленного Google.
- Здесь мы просто записываем содержимое, полученное в параметре body, в файл console.log. Таким образом, все, что мы получим, перейдя на www.google.com, будет записано в console.log.
Вот код для справки
var request = require("request");request("http://www.google.com",function(error,response,body){console.log(body);});
Резюме
- Фреймворк Node.js можно использовать для разработки веб-серверов с помощью модуля http. Приложение может быть настроено для прослушивания определенного порта и отправки ответа клиенту всякий раз, когда к приложению делается запрос.
- Модуль «запрос» может использоваться для получения информации с веб-сайтов. Информация будет содержать все содержание веб-страницы, запрошенной с соответствующего веб-сайта.