Сервер необхідний для обробки http-запитів, щоб можна було передавати дані форм через мережу інтернет, наприклад, на віддалену базу даних
Мінімум що треба для роботи серверу |
||
---|---|---|
0. | - скачати і встановити останню версію node.js | |
1. |
- в кореневому каталозі проекту ініціалізувати створення файлу конфігурації проекту в результаті створиться файл package.json |
|
2.1. | - створити файл серверу | |
2.2. | - створити файл .env для зберігання приватних даних (номер порту, посилання на базу даних і т.п.) | |
3. |
- встановити бібліотеки express для створення серверу i mongoose для роботи з БД MongoDB; в папкі проекту створиться каталог "node_modules", куди будуть завантажуватися всі бібліотеки |
|
Текст коду серверу | ||
1. |
|
- підключаємо бібліотеки |
2. |
|
- об'явити змінну порту; номер порту зберігається у файлі .env в корені проекту |
|
- об'явити змінну посилання на БД; змінна теж зберігається в файлі .env | |
|
- ця змінна необхідна для отримання запитів зі статичних сайтів | |
3. |
|
- створюємо об'єкт серверу |
4. |
|
- задаємо серверу отримувати запити із статичних веб-сторінок кореневого каталогу і дочірнього каталогу |
5. |
|
- middleware для обробки form-urlencoded; це потрібно для отримання корректних даних із форм |
6. |
|
- запуск серверу |
7. |
|
- отримуємо дані із форми, що знаходиться у вищезазначеному дочірньому каталозі |
8. |
|
- підключаємося до БД |
9. |
|
- об'являємо схему для запису в ДБ, в ній звертаємося до полів форми по імені "name" і задаємо формат отриманих даних |
|
- створюємо клас для ДБ, в якому вказуємо колекцію і дані | |
10. |
|
- записуємо дані із полів форми, звертаючись до них по імені name, у створений об'єкт і зберігаємо об'єкт у БД |
Структура створеного проекту:
Корисні бібліотеки |
||
---|---|---|
- автоматично перезавантажує сервер після внесення змін у файл server.js; для зручності у файл project.json можна прописати "scripts" {"start": "nodemon server.js"} і запускати сервер із командної строки командою npm start необхідно встановлювати |
||
- для зони видиості змінних глобального оточення (.env), необхідно встановлювати | ||
- для кор заголовків, необхідно встановлювати |
|
|
- додає підтримку JSON у тілі запиту, не потрібно встановлювати | ||
- для роботи з файлами, не потрібно встановлювати | ||
- Embedded JavaScript - для динамічного заповнення веб-сторінки контентом, що генерується скріптом Динамічний контент розміщується у спеціальних тегах: <% ... %> – виконання JavaScript-коду (без виводу в HTML); <%- ... %> – HTML-розмітка буде інтерпретована браузером; <%= ... %> – виведення значення в HTML (екранує небезпечні символи). А сам файл необхідно зберегти з розширенням *.ejs і відкривати через сервер. Необхідно встановити бібліотеку ejs, та не потрібно спеціально її запитувати в js-файлі |
|