Использование HTML вместо Jade или Ejs в Express.js
Быстрый ответ
Хотите быстро начать работу с Express.js, без перехода на новый шаблонизатор? Раздавайте HTML-файлы из папки 'public', настроив Express соответствующим образом. Вот небольшой пример:
const express = require('express');
const path = require('path');
const app = express();
app.use(express.static(path.join(__dirname, 'public')));
app.listen(3000, () => {
console.log('Сервер успешно запущен на порту 3000');
});
Просто поместите файлы формата .html
в каталог 'public', и Express сразу откликнется на HTTP-запросы.
Специфическая настройка маршрутов
В некоторых ситуациях, вам может потребоваться указать определенные страницы для открытия по конкретным URL-адресам или добавить динамическое содержимое. В таких случаях вы найдете метод res.sendFile особенно полезным:
app.get('/', function(req, res) {
res.sendFile(path.join(__dirname + '/public/index.html'));
});
Этот код гарантирует, что при переходе на домашнюю страницу (например, на http://localhost:3000/) будет отображаться index.html.
Делаем HTML живым
Статические файлы это хорошо, но иногда от динамического контента ожидают большего. Здесь вам могут помочь:
- AngularJS — фреймворк, делающий HTML динамичным.
- JavaScript позволяет взаимодействовать с DOM после загрузки страницы.
- Alpha consolidate и swig — библиотеки для работы с динамическим контентом на сервере при помощи Express.
const cons = require('consolidate');
app.engine('html', cons.swig)
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'html');
Расширяем возможности темплейтов с EJS
Хотите добавить больше функциональности в ваши .html
файлы? Используйте EJS:
app.engine('html', require('ejs').renderFile);
app.set('view engine', 'html');
При помощи JavaScript, HTML обретает способность к серверному рендерингу.
Визуализация
В галерее Express.js можно встретить шедевры HTML. Выбор подхода к их отображению остается за вами:
🖼️ **Галерея**: [Главная, Продукты, Контакты]
Не нужно применять шаблонизаторы — ваши творения готовы к показу:
🔨 **Соединение (res.sendFile)**: Для прямого отображения вашего творения.
Таким образом, ваше творение становится центральной экспозицией в галерее:
🎨➡️🖼️: "Home.html" теперь главный экспонат!
С Express нет ограничений на оформление, это позволяет раскрыть весь потенциал вашего HTML.
Когда стоит использовать шаблонизатор
Некоторые случаи, когда шаблонизаторы оказываются полезными:
- Когда необходимо наследование шаблонов или их повторное использование.
- Когда требуется передать переменные с сервера в HTML.
- Когда важен SEO, и использование клиентского JavaScript не достаточно.
Надежность работы
Чтобы обеспечить стабильность работы с набором HTML:
- Не настраивайте 'html' как шаблонизатор, чтобы не столкнуться с ошибкой "Cannot find module 'html'".
- Обслуживайте файлы безопасно, предотвращая попытки обхода директорий.
- Правильное определение MIME-типов – обязательный шаг, иначе браузеры могут некорректно обрабатывать ваши файлы.