Создание HTTP сервера на NodeJS

Давайте теперь развернем HTTP сервер на NodeJS . Этот сервер будет принимать запросы от браузера и отдавать в ответ HTML код страниц.

Для начала нам нужно импортировать модуль http:

import http from 'http';

После этого мы можем стартовать наш сервер с помощью метода createServer:

http.createServer();

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

http.createServer(() => { });

В нашем коллбэке мы должны определить два параметра. В первый параметр попадет объект с данными запроса пользователя, а во второй параметр - объект, с помощью которого мы сфомируем наш ответ, отправляемый в браузер:

http.createServer((request, response) => { });

С помощью метода write мы можем говорить, какой текст отправить в браузер:

http.createServer((request, response) => { response.write('text1'); response.write('text2'); response.write('text3'); response.end(); });

С помощью метода end мы командуем завершить наш ответ и отправить его в браузер:

http.createServer((request, response) => { response.write('text1'); response.write('text2'); response.write('text3'); response.end(); });

После запуска сервера мы должны сказать, на каком порте наш сервер будет ожидать запросы от браузера. Это делается с помощью метода listen. Давайте укажем традиционный порт 3000:

http.createServer((request, response) => { response.write('text1'); response.write('text2'); response.write('text3'); response.end(); }).listen(3000);

Теперь мы можем обратиться к нашему серверу через браузер, набрав http://localhost:3000, где после двоеточия указан заданный нами порт.

Разверните сервер, отправляющий в браузер какой-нибудь текст.

Остановка сервера

В предыдущих уроках наши скрипты отрабатывали сразу и после этого консоль была готова к вводу новых команд. С сервером это будет не так, так как он представляет собой некоторый исполняемый процесс.

Чтобы завершить такой процесс, вам нужно в терминале нажать клавиши Ctrl + C. В этом случае сервер остановится и затем его можно будет запустить опять.

Остановите запущенный сервер.