Javascript 如何在Next.js中为多个URL创建一个处理程序?
我在开始使用Next.js时遇到了一些麻烦 这是交易。我有多个过滤器,这取决于我创建的URL。所有这些URL都用于一个页面。 它可以是这样的:Javascript 如何在Next.js中为多个URL创建一个处理程序?,javascript,reactjs,express,next.js,server-side-rendering,Javascript,Reactjs,Express,Next.js,Server Side Rendering,我在开始使用Next.js时遇到了一些麻烦 这是交易。我有多个过滤器,这取决于我创建的URL。所有这些URL都用于一个页面。 它可以是这样的: / /一个 /一/二 /一/二/三 这是必需的。如何为捕获这些URL创建一个处理程序 我像这样使用Express,但它没有帮助 server.get('/*', async (req, res, next) => { try { app.render(req, res, '/') } catch (e) {
- /
- /一个
- /一/二
- /一/二/三
server.get('/*', async (req, res, next) => {
try {
app.render(req, res, '/')
} catch (e) {
next(e)
}
})
谢谢 像这样使用动态路由:
pages/[one]/[two]/[three].js
cf:
多个动态管段的工作方式相同
例如,pages/post/[pid]/[comment].js
将匹配/post/1/a-comment
。它的查询对象将是:{pid:'1',comment:'a-comment'}
希望有帮助。使用npm next routes,以便使用路径模式(regex)将多个URL绑定到一个页面next.js 9.5中引入的新功能 解决方案: 另请参见:重定向和标题: 宣布评论:
此外,我知道一些通配符匹配将路径嵌套在默认路由的深处,但我觉得在大多数用例中重写是一个更好的解决方案。谢谢您的回答。我使用了动态路由,但我只有一个页面可以访问这几个url。是否可以通过一个页面处理所有URL?