Я хочу создать структуру веб-приложения, подобную следующей:
rootUrl/shopRecords/shop1
rootUrl/shopRecords/shop2
rootUrl/shopRecords/shop3...
где может быть любое ограничение магазинов, но все страницы магазина будут иметь одинаковый макет страницы (одна и та же страница HTML/Pug, просто заполненная разными данными из базы данных). Доступ к этим URL-адресам будет осуществляться из списка кнопок/ссылок на главной странице.
Есть ли в Express.js подстановочный знак, чтобы я мог указать одинаковое поведение для всех страниц с форматом ссылки rootUrl/shopRecords/*
?
@CristianTraìna — Нет, это для строк запроса.
Это объясняется в разделе маршрутизация документации ExpressJS.
Route parameters are named URL segments that are used to capture the values specified at their position in the URL. The captured values are populated in the
req.params
object, with the name of the route parameter specified in the path as their respective keys.Route path:
/users/:userId/books/:bookId
Request URL:http://localhost:3000/users/34/books/8989
req.params:{ "userId": "34", "bookId": "8989" }
To define routes with route parameters, simply specify the route parameters in the path of the route as shown below.
app.get('/users/:userId/books/:bookId', function (req, res) { res.send(req.params) })
Да, вы можете использовать
rootUrl/shopRecords/:shopId
, а затем получить доступ к собственности черезreq.params.shopId
. Но это очень простой вопрос, и вы можете получить ответ на первой странице официальной документации.