如图所示我已经建立了一个自定义的服务器NextJS这里定制路由。
服务器.js:
app.prepare()
.then(() => {
createServer((req, res) => {
const parsedUrl = parse(req.url, true)
const { pathname, query } = parsedUrl
if (foreignLang(pathname, lang)) {
app.render(req, res, checkLangAndConvert(links, pageVal, pathname, lang), query)
} else {
handle(req, res, parsedUrl)
}
})
.listen(port, (err) => {
if (err) throw err
console.log(`> Ready on http://localhost:${port}`)
})
})
它基本上映射/en/url
到/another_url
i18n。
我知道我可以query
在此处使用参数并在组件中读取它,但我想将选项传递给App
而不重新检查 URL。是否可以在不读取 URL 的情况下将选项从服务器级别传递到应用程序级别?
编辑:在对标记答案进行了一些调查后,解释说query
实际上并不意味着 URL 中的查询参数,而不是将值从服务器传递到客户端。误导性词,因为它仅表示客户端操作。这正是我所需要的。