Инструменты пользователя

Инструменты сайта


nodejs:express:routy_s_prefiksami

роуты с префиксами

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;//Экспортирум роутер
nodejs/express/routy_s_prefiksami.txt · Последние изменения: 2023/01/12 12:18 (внешнее изменение)