Роут корзины routes/card.js
const {Router} = require('express');//или const express.Router = require('express'); - модуль express const Card = require('../models/card'); const Course = require('../models/course'); const router = Router(); /** * Добавить в корзину * первый параметр адрес страницы, в данном случае используется префикс при регистрации ройтера, * второй параметр callback - обработчик запроса req - request , запрос от браузера * res - response, ответ сервера */ router.post('/add', async (req, res) => { const course = await Course.getById(req.body.id); await Card.add(course);//метод добавления в корзину res.redirect('/card');//редирект н страничку корзины }); /** * Страница card, вывод корзины * первый параметр адрес страницы, в данном случае используется префикс при регистрации ройтера, * второй параметр callback - обработчик запроса req - request , запрос от браузера */ router.get('/', async (req, res) => { const card = await Card.fetch();// //console.log(card); res.render('card', { title: "Корзина",//прокидываем параметры в шаблон courses: card.courses, price: card.price, isCard: true })//рендерим используя шаблонизатор }); /** * Удалить позицию в заказе * первый параметр адрес страницы, в данном случае используется префикс при регистрации ройтера, * с динамическим параметром id * второй параметр callback - обработчик запроса req - request , запрос от браузера */ router.delete('/remove/:id', async (req, res)=>{ const card = await Card.remove(req.params.id);//Обращаемся к модели и удаляем позицию res.status(200).json(card)//возвращаем статус 200 и json строку }); module.exports = router;//Экспортирум роутер
Модель корзины - models/card.js
class Card { add(){ } fetch(){ } } module.export = Card;
<h2>Корзина</h2>