server.js
const express = require('express');//Подключаем модуль const path = require('path');//Модуль для работы с путями к файлам и папкам const exphbs = require('express-handlebars');//Подключаем шаблонизатор const app= express();//Результат работы модуля express, по сути создает сервер const PORT = process.env.PORT || 3000; //Получить порт из переменного окружения или использовать дефолтный /** * ПОдключаем роуты */ const aboutRoutes = require('./routes/about');//Страница about const hbs= exphbs.create({//Настройки шаблонизатора defaultLayout: 'main',//Шаблон по умолчанию, основной, (template/layouts/main.hbs) extname: 'hbs' //Расширение шаблонов, пользовательское. По умолчанию express-handlebars }); app.engine('hbs', hbs.engine);//Подключени шаблонизатора к express, регестрируем движок app.set('view engine', 'hbs');//Запускаем шаблонизатор, используем app.set('views', 'template');//Указываем папку с шаблонами app.use(express.static('public'));//Статические папки для хранения стилей картинок /** * Регестрируем роуты, с префиксами */ app.use('/about',aboutRoutes);//Страница about app.listen(PORT, () => {//Слушать 3000 порт console.log(`server is running on port ${PORT}`); });
роут routes/about.js
const {Router} = require('express'); //или const express.Router = require('express'); const router = Router(); /** * страница about * первый параметр адрес страницы * второй параметр callback - обработчик запроса req - request , запрос от браузера * res - response, ответ сервера */ router.get('/', (req, res) => { res.status(200);//вернуть статус ответа res.render('about',{ title: 'О нас',//Передаем в шаблон параметры isAbout: true });//рендерим используя шаблонизатор }); module.exports = router;//Экспортирум роутер