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):

terminal
npx express-generator --view=ejs simple-express

npx - програма, уже встановлення під час інсталяції Node.js версії вище 8.x. Ця утиліта виконує команди інших утиліт не встановлюючи їх глобально у системі. Параметром --view=ejs ми вказуємо, що хочемо використати шаблон ejs. Останнім параметром вказуємо ім'я програми simple-express

Програма міститься у файлі app.js. Тут для початку потрібно замінити всі var на const:

Розберемо цей код:

Згори підключають всі сторонні пакети необхідні для роботи застосунку.

Після цього підключають роути.

Створення екземпляра програми та підключення шаблону:

Потім підключене проміжне програмне забезпечення (middleware):

Підключено логер, обробник JSON і даних форм, і в кінці модуль для роботи з cookie.

Далі обробник статичних ресурсів

Потім під'єднано роути програми

Порядок проміжного ПЗ (middleware) має значення.

В кінці програми прописують обробник помилок. Спочатку відбувається обробка неіснуючого роуту чи помилка 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:

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

Покликання:

Автогенератор додатку express

GitHub JSON Formatter

Last updated