Nodejs. Що таке middleware і статичні файли.
Відео: Express: основи та Middleware
Всім привіт! У цій статті ми розглянемо, що таке middleware і як працювати зі статичними файлами в NodeJS.
Отже, давайте для початку проведемо простий експеримент. У корені проекту створимо папку assets і туди закинемо файл styles.css з потрібними нам стилями. У файлі шаблону index.ejs, природно, підключимо файл стилів, вказавши шлях /assets/styles.css. Якщо ви тепер зайдете на наш сайт, то побачите, що стилі не підключилися. Відкривши інструменти розробника і перейшовши в розділ "мережу", ми можемо побачити, що файл styles.css прийшов з відповіддю 404 Not Found. Чому так відбувається? Вся справа в тому, що браузер запитує файл стилів у додатку. Головний файл нашого застосування, як ви пам`ятаєте, app.js. Туди і приходить запит. Оскільки для застосування цей запит такої ж, як і запит до якої-небудь сторінці, він дивиться, чи є обробник для нього. Оскільки ми ніяк не обробляємо запит на файл styles.css, на відміну від інших запитів (наприклад, / contact або / index і т.д.), то сервер нічого не повертає і, відповідно, файл не вдається знайти. Щоб цю справу виправити, ми можемо робити купу запитів на потрібні картинки або файли, але, як ви розумієте, це далеко не найкращий шлях. Нам потрібно просте і зручне рішення для даного завдання, і воно є - це Middleware. Давайте розберемося, що таке middleware.
Middleware - це прошарок між нашим запитом і відповіддю. Наприклад, ми звертаємося до сторінки / contact - це запит, потім ми отрісовиваємих її - це відповідь, а ось функція, в якій ми можемо написати будь-якій код і в якій ми якраз і промальовується нашу сторінку - це middleware.
Для вирішення нашої задачі ми будемо використовувати можливості Express:
// файл app.js, код помістити після app.set ( `view engine`, `ejs`) -
app.use(`/ Assets`, express.static(`Assets`)) -
Тут ми використовуємо метод use (), в який першим параметром передаємо запит, отримавши який буде запускатися другий параметр, де ми використовуємо метод static () для отримання шляху до статичних файлів, таких, як файл стилів. Тобто як тільки в адресному рядку з`явиться / assets або цей шлях буде десь вказано, наприклад, у файлі шаблону, як у нас, то ці файли будуть шукатися в нашій папці / assets.
Відео: Анатомія Express сервера: Request, Response, Middleware, Routing
А на сьогодні це все. Дякую за увагу!
- Nodejs. Як створити сервер.
- Nodejs. Що таке npm.
- Nodejs. Що таке query strings.
- Nodejs. Як працювати з файлом package.json.
- Nodejs. Як відправити дані в форматі json.
- Nodejs. Як зчитувати дані з потоку.
- Як працювати зі стилями в jаvascript.
- Nodejs. Як зібрати шаблон з декількох частин.
- Nodejs. Як створити "список справ". Частина 2.
- Nodejs. Як обробляти post запити.
- Nodejs. Як створити "список справ". Частина 1.
- Nodejs. Шаблони модулів.
- Вивчаємо sass. Встановлення та налаштування.
- Nodejs. Починаємо роботу з express.
- Створення движка на mvc. Покращуємо шифровку пароля користувачів.
- Nodejs. Пакет nodemon.
- Nodejs. Модулі.
- Створення zip-архіву на php
- Nodejs. Template engine. Частина 1.
- Nodejs. Потоковий висновок html сторінки.
- Вивчаємо sass. Основи.