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