Създайте HTTP уеб сървър в Node.js: Урок с примерен код
Рамката Node.js се използва най-вече за създаване на сървърно базирани приложения. Рамката може лесно да се използва за създаване на уеб сървъри, които могат да обслужват съдържание на потребителите.
Има различни модули като модула „http“ и „request“, който помага при обработката на заявки, свързани със сървъра, в пространството на уеб сървъра. Ще разгледаме как можем да създадем основно приложение за уеб сървър, използвайки Възел js.
Възел като уеб сървър, използващ HTTP
Нека да разгледаме пример за това как да създадем и стартираме нашето първо Node js приложение.
Нашето приложение ще създаде прост сървърен модул, който ще слуша на порт № 7000. Ако се направи заявка през браузъра на този порт №, тогава сървърното приложение ще изпрати отговор „Hello World“ на клиента.
Обяснение на кода
- Основната функционалност на функцията за изискване е, че тя чете a JavaСценарий файл, изпълнява файла и след това продължава да връща обекта за експортиране. Така че в нашия случай, тъй като искаме да използваме функционалността на 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. За да направим заявка за получаване във възела, първо трябва да имаме инсталиран модул за заявка. Това може да стане чрез изпълнение на следния ред в командния ред
заявка за инсталиране на npm
Горната команда изисква от мениджъра на пакети Node да изтегли необходимите модули за заявки и да ги инсталира съответно.
Когато вашият npm модул е инсталиран успешно, командният ред ще покаже името и версията на инсталирания модул: @ .
В горната моментна снимка можете да видите, че модулът „заявка“ заедно с номер на версия 2.67.0 е изтеглен и инсталиран.
Сега нека видим кода, който може да използва тази команда "request".
Обяснение на кода
- Използваме модула „заявка“, който беше инсталиран в последната стъпка. Този модул има необходимите функции, които могат да се използват за отправяне на 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); });
Oбобщение
- Рамката Node.js може да се използва за разработване на уеб сървъри с помощта на модула „http“. Приложението може да бъде накарано да слуша на конкретен порт и да изпраща отговор на клиента всеки път, когато се направи заявка към приложението.
- Модулът "заявка" може да се използва за получаване на информация от уеб сайтове. Информацията ще съдържа цялото съдържание на уеб страницата, поискана от съответния уеб сайт.