Javascript 两个页面模板都是动态呈现的,但共享相同的路由

Javascript 两个页面模板都是动态呈现的,但共享相同的路由,javascript,reactjs,routing,next.js,Javascript,Reactjs,Routing,Next.js,我有两种使用动态路由的自定义页面类型,从Prismic CMS、service_页面和about_页面查询。但是,我的express server自定义路由遇到了问题-如果首先列出了我的servicePage路由,则aboutPage不会呈现。但如果反之亦然,服务页面将不会路由,但我的aboutPages将路由。有没有一种方法可以使用动态路由创建两个自定义类型?我知道我可以为它们添加前缀(services/:uid或about/:uid),但出于公司目的,我宁愿避免这样做 server.get(

我有两种使用动态路由的自定义页面类型,从Prismic CMS、service_页面和about_页面查询。但是,我的express server自定义路由遇到了问题-如果首先列出了我的servicePage路由,则aboutPage不会呈现。但如果反之亦然,服务页面将不会路由,但我的aboutPages将路由。有没有一种方法可以使用动态路由创建两个自定义类型?我知道我可以为它们添加前缀(services/:uid或about/:uid),但出于公司目的,我宁愿避免这样做

server.get('/:uid', (req, res) => {
  const nextJsPage = '/servicePage';
  const queryParams = { uid: req.params.uid };
  app.render(req, res, nextJsPage, queryParams);
});
server.get('/:uid', (req, res) => {
  const nextJsPage = '/aboutPage';
  const queryParams = { uid: req.params.uid };
  app.render(req, res, nextJsPage, queryParams);
});
你的目的是什么? 通常使用路由时,将显示与您请求的url匹配的第一个列出的url。你不能指望有其他行为。 如果ID之间存在差异(例如9位数与2位数),我不认为您可以在这里使用正则表达式,但您可以尝试搜索它。否则,您必须使用前缀。

您的目的是什么? 通常使用路由时,将显示与您请求的url匹配的第一个列出的url。你不能指望有其他行为。 如果ID之间存在差异(例如9位数与2位数),我不认为您可以在这里使用正则表达式,但您可以尝试搜索它。否则,必须使用前缀