部署到AWS后无法通过Next.Js中的getInitialProps获取数据,但可以在开发环境中使用

问题描述 投票:0回答:1

我在Next.js应用程序中有一个页面,我试图在其中通过getInitialProps来获取数据,当我在开发模式下对其进行测试时,它可以正常工作,但是在部署到AWS上后它无法正常工作。我正在尝试设置Meta标签,以便可以动态共享动态页面。

我尝试通过状态设置Meta标签,但是它似乎无法正常工作,就像我们在安装组件并且Facebook调试器无法找到我的Meta标签之后可以访问状态一样。我正在使用类组件,并且getInitialProps的代码看起来像这样

static async getInitialProps({ query }) {
        const resp = await axios.get('/product/fetchSingleProduct/' + query.pid)
        console.log(query.pid)
        const data = await resp.data
        return { data }
     }

正如我之前说过的那样,它确实可以在开发环境中工作,并且可以在终端上看到console.log(query.pid)。但是部署后,我得到如下错误消息:

exception: {…}
kind: "ObjectId"
message: "Cast to ObjectId failed for value \"undefined\" at path \"_id\" for model \"Product\""
name: "CastError"
path: "_id"
stringValue: "\"undefined\""
value: "undefined"

将提供任何帮助,谢谢您,并祝您编程愉快!

javascript node.js reactjs next.js ssr
1个回答
0
投票

查看一些情况:(这些可能是部署期间的问题)

  1. 如果在package.json中存在,请尝试删除代理。 (这可能是由于代理引起的)
  2. 作为您的错误消息,它在后端也可能有问题。再次检查。
  3. 签出您的.gitignore,因为它可能包含/ build内容,但不会上载构建文件。发表评论。
  4. 检查网络请求是否达到要求的uri。

只需共享部署期间可能经常发生的问题。希望它能在某个时候对你有帮助。

此外,请上传您的package.json和.gitignore文件,以全面了解您的问题。

快乐编码。

© www.soinside.com 2019 - 2024. All rights reserved.