Express / NextJS - 单个快速路由中的多个目录
Express / NextJS - Multiple directories in a single express route
我正在使用 NextJS / Express 创建一个网站来分享文章。
我在 pages 目录中嵌套了一个文章页面 (pages/articles.js)
我想让多个子目录根据类别重新路由到此模板(
server.get(`/${"category-1" || "category-2" || "category-3"}/:id`, (req, res) => {
const actualPage = "/articles";
const queryParams = { id: req.params.id };
app.render(req, res, actualPage, queryParams);
});
当使用上面的代码片段时,它似乎可以使用 /category-1/:id 而不是 /category-2/:id 或 /category-3/:id
当我将它们拆分成各自的 get 块时,预期的功能会起作用。
谢谢!
试试这个:
server.get('/:category(category-1|category-2|category-3)/:id', (req, res) => {
// Parameters: req.params.category and req.params.id.
const actualPage = "/articles";
const queryParams = { id: req.params.id };
app.render(req, res, actualPage, queryParams);
});
||
是逻辑或(也是第一个非假值)。 Javascript 会将 0 || 1 || 2
计算为 1
。
我正在使用 NextJS / Express 创建一个网站来分享文章。
我在 pages 目录中嵌套了一个文章页面 (pages/articles.js)
我想让多个子目录根据类别重新路由到此模板(
server.get(`/${"category-1" || "category-2" || "category-3"}/:id`, (req, res) => {
const actualPage = "/articles";
const queryParams = { id: req.params.id };
app.render(req, res, actualPage, queryParams);
});
当使用上面的代码片段时,它似乎可以使用 /category-1/:id 而不是 /category-2/:id 或 /category-3/:id
当我将它们拆分成各自的 get 块时,预期的功能会起作用。
谢谢!
试试这个:
server.get('/:category(category-1|category-2|category-3)/:id', (req, res) => {
// Parameters: req.params.category and req.params.id.
const actualPage = "/articles";
const queryParams = { id: req.params.id };
app.render(req, res, actualPage, queryParams);
});
||
是逻辑或(也是第一个非假值)。 Javascript 会将 0 || 1 || 2
计算为 1
。