Для дальнейшей работы вам понадобится развернуть тестовый 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];
Сделайте маршрут, который запишет каждый элемент массива в свой абзац и отправит результат на сервер.