Express автогенератор додатку
Фреймворк Express має свій генератор додатків. Він орієнтується на MVC архітектуру додатків.
.
├── app.js
├── bin
│ └── www
├── package.json
├── public
│ ├── images
│ ├── javascripts
│ └── stylesheets
│ └── style.css
├── routes
│ ├── index.js
│ └── users.js
└── views
├── error.pug
├── index.pug
└── layout.pugУстановка такого додатку (на запит треба натиснути y і enter):
npx express-generator --view=ejs simple-express
npx - програма, уже встановлення під час інсталяції Node.js версії вище 8.x. Ця утиліта виконує команди інших утиліт не встановлюючи їх глобально у системі. Параметром --view=ejs ми вказуємо, що хочемо використати шаблон ejs. Останнім параметром вказуємо ім'я програми simple-express
Програма міститься у файлі app.js. Тут для початку потрібно замінити всі var на const:
Розберемо цей код:
Згори підключають всі сторонні пакети необхідні для роботи застосунку.
Після цього підключають роути.
Створення екземпляра програми та підключення шаблону:
Потім підключене проміжне програмне забезпечення (middleware):
Підключено логер, обробник JSON і даних форм, і в кінці модуль для роботи з cookie.
Далі обробник статичних ресурсів
Потім під'єднано роути програми
В кінці програми прописують обробник помилок. Спочатку відбувається обробка неіснуючого роуту чи помилка 404.
В цьому прикладі ми створюємо помилку і передаємо її далі для обробки.
А ось тут і відбувається обробка помилки. Ми передаємо змінні message та error у шаблон error.ejs і виконуємо його рендер.
Щоб розпочати роботу з додатком потрібно встановити пакети залежностей
Для режиму розробки (devDependencies) встановимо пакет nodemon. Він дозволяє виконувати перезавантаження сервера під час розробки.
У файлі package.json додамо скрипт start:dev
Запуск програми в режимі розробки виконують такою командою з терміналу:
Запустимо програму з браузера

Програма виконує рендер одного шаблону. Сам рендер виконується у файлі роутингу routes/index.js
Тепер можна змінити програму. Наприклад додати форму, щоб приймати дані. Файл index.ejs має виглядати так:
Можна додати стилі для форми у файл public/stylesheets/style.css
Додамо новий шаблон response.ejs в якому будемо виводити дані форми.
А тепер можна додати обробник для шляху /login на який приходитимуть дані від форми.
Роутер максимально спрощений. Приходить дві змінні. Їх передаємо для рендерингу шаблону response.ejs, щоб показати, що дані отримано.


У цьому прикладі дані з фронтенду передаються за допомогою форми.
А тепер пропишемо роут для файлу user.js.
І якщо звернутися за адресою /users, то отримаємо json файл. Для гарного представлення json можна встановити додаток в chrome JSON Formatter.

Можна додати обробник для отримання унікального користувача за його id:

Такий формат передачі даних використовують найчастіше.
Покликання:
Last updated