Page 56 - 6182
P. 56
Відповідно першим параметром виступає рядок запиту ―/‖, ―/about‖,
а другим – функція-обробник. Слід зауважити, що в прикладі
використовується синтаксис ECMAScript 2015+: стрілочні (arrow)
функції, шаблонні рядки, заміна (інтерполяція змінних), блокові
змінні і т.п. Нижче наведений фрагмент програмного коду, в якому
використовуються всі вище зазначені нововведення ES2015+:
app.use((req, res) => {
let obj = { response: `page ${req.url} not found` };
res.status(404).json(obj);
});
Зауважимо, що при такому підході до побудови додатку,
який показаний на рисунку 7.10, необхідно чітко дотримуватися
послідовності опису маршрутів, оскільки вони аналізуються в
порядку ―зверху-вниз‖: якщо на самому початку описати
регулярний вираз для маршруту, який підходить під всі інші,
―нижні‖ маршрути не спрацюють. Аналогічне зауваження щодо
використання методу use(), який був використаний для
перехоплення помилок і видачі 404 коду: якщо вище наведений
фрагмент коду записати, наприклад, починаючи з 5-го рядка, ми
цим самим даємо команду серверу в першу чергу видавати помилку
404, маршрутизація в цьому випадку не відбудеться.
У всіх функціях-обробниках використано наступний рядок
коду:
res.status(code).json(obj);
Відповідний запис задає в об‘єкті відповіді HTTP-статус код,
а виклик json(obj) – перетворює JavaScript-об‘єкт в JSON-
представлення, тому викликати JSON.stringify() не має
необхідності.
Зазначимо, що тут наведено лише деякі можливості
платформи Express для розробки web-додатків. Насправді, з
допомогою засобів Express можна створювати досить складні web-
орієнтовані інформаційні системи з використанням будь-яких
популярних архітектурних підходів.
7.2 Порядок виконання роботи
1 Ознайомитись із платформою node.js/express.
56