Тестовый HTTP сервер на JavaScript

Для дальнейшей работы вам понадобится развернуть тестовый HTTP сервер на своем компьютере. Этот сервер написан и подготовлен мною под наши задачи.

Для начала скачайте сервер по следующей ссылке: test-http-server.

Откройте папку с сервером в терминале и выполните следующую команду:

npm install

После завершения установки выполните следующую команду:

node index.js

После этого сервер запустится и вы сможете зайти на него через браузер открыв в нем адрес http://localhost:8080/.

Установите тестовый сервер. Проверьте его работу, открыв в браузере указанную страницу.

Использование сервера

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

Посмотрим на примере. Давайте в файле /public/page.html сделаем верстку HTML страницы:

<!DOCTYPE html> <html lang=""> <head> <meta charset="utf-8"> <title>page</title> </head> <body> page.html works! </body> </html>

Чтобы в браузере обратиться к этой странице нужно будет перейти по адресу http://localhost:8080/page.html - то есть без указания папки public.

Сделайте страницу /public/dir/test.html. Обратитесь к ней через браузер.

Сделайте страницу /public/style.css. Обратитесь к ней через браузер.

Сделайте страницу /public/script.js. Обратитесь к ней через браузер.

Выполнение серверного JavaScript

В папке с сервером найдите файл server.js. В этом файле вы можете писать JavaScript, который будет выполнен на сервере.

Данный файл содержит объект с маршрутами, ключами которого будут адреса, а значениями - функции, которые будут выполнены по заходу на соответствующие страницы через браузер.

Давайте посмотрим на примере. Разместите в этом файле следующий код:

export default { '/test/': function() { return 'hello world'; } }

После этого остановите сервер, нажав в консоли сочетание клавиш Ctrl + C. Затем перезапустите его командой:

node index.js

Теперь вы можете обратиться через браузер по адресу http://localhost:8080/test/. В результате будет выполнена наша функция и в браузер отправится тот текст, который она вернет через return.

Мы можем размещать в этой функции любой код JavaScript. Например, напишем следующее:

export default { '/test/': function() { let num1 = 1; let num2 = 2; return num1 + num2; } }

Сделайте обработчики адресов /page1/, /page2/, /page3/. Обратитесь к ним через браузер.

Генерация HTML

Наши обработчики сервера могут также отправлять HTML код:

export default { '/test/': function() { return '<b>text</b>'; } }

Можно также формировать HTML код в цикле:

export default { '/test/': function() { let str = '<ul>'; for (let i = 1; i < 9; i ++) { str += '<li>' + i + '</li>'; } str += '</ul>'; return str; } }

Пусть на сервере дан массив:

let arr = [1, 2, 3, 4, 5];

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