Фреймворк Node.js в основному використовується для створення серверних додатків. Фреймворк можна легко використовувати для створення веб-серверів, які можуть обслуговувати вміст для користувачів.
Існує безліч модулів, таких як модуль "http" та "request", який допомагає обробляти запити, пов'язані з сервером, у просторі веб-сервера. Ми розглянемо, як ми можемо створити основний додаток веб-сервера за допомогою 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. Щоб зробити запит на отримання у вузлі, нам спочатку потрібно встановити модуль запиту. Це можна зробити, виконавши наступний рядок у командному рядку
npm запит на встановлення
Вищенаведена команда вимагає від менеджера пакетів Node завантаження необхідних модулів запитів та встановлення їх відповідно.
Коли ваш модуль npm буде успішно встановлений, у командному рядку буде показано ім'я та версію встановленого модуля:
На наведеному вище знімку ви бачите, що модуль "запит" разом із номером версії 2.67.0 був завантажений та встановлений.
Тепер давайте подивимось код, який може використовувати цю команду 'request'.
Пояснення коду:
- Ми використовуємо модуль "запит", який було встановлено на останньому кроці. Цей модуль має необхідні функції, які можна використовувати для надсилання запитів GET на веб-сайти.
- Ми робимо запит GET на www.google.com і згодом викликаємо функцію, коли отримуємо відповідь. Коли отримано відповідь, параметри (помилка, відповідь та тіло) матимуть такі значення
- Помилка - у разі виникнення помилки, отриманої під час використання запиту GET, вона буде записана тут.
- Відповідь - Відповідь матиме заголовки http, які надсилаються назад у відповідь.
- Body - Основне тіло буде містити весь вміст відповіді, надісланої 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'. Програму можна змусити прослуховувати певний порт і надсилати відповідь клієнту щоразу, коли надходить запит до програми.
- Модуль "запит" можна використовувати для отримання інформації з веб-сайтів. Інформація міститиме весь вміст веб-сторінки, запитуваної на відповідному веб-сайті.