为了账号安全,请及时绑定邮箱和手机立即绑定

Now 2 迁移的问题

Now 2 迁移的问题

交互式爱情 2021-11-25 15:23:42
作为这里所说的频谱,我在从一个Express自定义服务器迁移我的下一个网站,现在的烦恼。我的问题是我无法获取主页,因为我正在尝试发送 URL 参数,但没有成功。我需要传递一个lang参数,如下:localhost:3000/en然后,我将不得不按预期获得 Home。但我收到此异常:类型错误:无法读取 Function.getInitialProps 处未定义的属性“lang”(/Users/lucacattide/Vagrant/debian/public/LC/front-end/.next/server/static/development/pages/_document.js:1111:32 )那是因为我之前出于各种原因读取了ctx.req.params.lang参数_document.js getInitialProps。即使将其替换为ctx.req.query.lang我仍然得到它。我目前正在复制 Zeit 迁移指南和文章中的两个示例。正如两者所建议的那样,我正在尝试这种API方法(https://zeit.co/guides/migrate-to-zeit-now/)和pages一种方法(https://zeit.co/guides/custom-next-js -服务器到路由/)。在 API 一中,我实现了内部/api路径,即[lang].js段,内容如下:module.exports = (req, res) => {  res.send(req.query.lang);}然后用/pages一个,我复制并改名为index.js以[lang].js相同的路径内,并取代了req.query.lang如上所述。这两个都不起作用。我遇到了同样的异常,它警告_document.js. 我需要它,因为它内部的进程不同,所以在我的情况下删除它不是一个选项。当然,我正在now dev我的localhost. 该应用程序在 Express 上运行良好,因此我希望解决此问题以便在 Now 上正确部署它。任何人之前都经历过这种情况,或者可以帮助我提出一些建议吗?预先感谢您的支持。
查看完整描述

2 回答

?
桃花长相依

TA贡献1860条经验 获得超8个赞

如果您正在使用像这样传递 langlocalhost:3000/en然后使用下面的代码段来访问它

req.params.lang

但是如果你像这样传递 lang localhost:3000?lang=en

然后用这个

req.query.lang


查看完整回答
反对 回复 2021-11-25
?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

由于 Now 平台更新 - v2 - 我注意到很多 Next API 部分发生了变化。通过修改我的代码以遵循新方法,我能够获得以前缺少的参数。具体来说,我按照最新官方文档中的API路由提示进行操作



查看完整回答
反对 回复 2021-11-25
  • 2 回答
  • 0 关注
  • 156 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信