首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用getServerSideProps部署后发生的内部服务器错误500 :js

使用getServerSideProps部署后发生的内部服务器错误500 :js
EN

Stack Overflow用户
提问于 2022-02-22 12:44:10
回答 4查看 3K关注 0票数 3

我试图将我的网站重新部署到vercel,我在我的webiste中添加了getServerSideProps,之后我得到了下面的错误,我不知道这意味着什么,我应该做什么来修复它?在本地主机上,该程序工作正常。

这是我在我的getServerSideProps中加入的index.js

代码语言:javascript
运行
复制
export async function getServerSideProps() {
  // Fetch data from external API
  const res = await fetch(`https://ask-over.herokuapp.com/questapi`);
  const data = await res.json();
  // console.log(data);
  // Pass data to the page via props
  return { props: { data } };
}

如果我提供的代码不够,github.com/vivekkn91/wixten.git是git存储库,请注意,webiste在localhost中没有问题。

我在index.js中添加了index.js之后,他的问题就出现了,我还发现我的内部页面没有问题,没有完美之处。

我也输入了部署到netlify。主页给了我这个页面,但是内页工作得很好,我不再使用firebase,所以它可以删除所有基于防火墙的代码。

我正在添加github页面以供您参考--请随意克隆代码https://github.com/vivekkn91/wixten

EN

回答 4

Stack Overflow用户

发布于 2022-02-27 19:59:07

所以,我迅速分叉你的回购,以检查该网站是否在当地工作,它是。

因此,问题显然是如何在Vercel上的生产中部署该网站。在Vercel上测试回购对我来说有点太大了,因此我只能给出一些提示,说明我在错误页面中看到了什么等等。

因此,如果您有npm,我建议通过运行以下终端命令来安装VercelCLI:

代码语言:javascript
运行
复制
$ npm i vercel -g

或者下面的一个会更好,因为您只是为了开发目的使用它--不需要在全局上使用-g来安装该软件包。

代码语言:javascript
运行
复制
$ npm i vercel --save-dev

安装完毕后,使用Vercel登录命令登录,并提供用于vercel的电子邮件地址。

代码语言:javascript
运行
复制
$ vercel login me@example.com

登录后,您可以运行vercel命令在本地复制Vercel部署环境,允许您测试Serverless函数,而无需每次更改时部署。

代码语言:javascript
运行
复制
$ vercel dev

这本身解决不了这个问题,但在每次代码更改之后,总是重新部署应用程序要容易得多。

所以,接下来要做什么,因为我不打算在Vercel上测试代码,我只能根据您提供的错误消息给您其他提示。

当我在本地运行回购时,

  1. 在终端上发现了一个错误,即网站对地图函数和/qeustion路由有问题。因此,您应该检查这个url - https://nextjs.org/docs/messages/prerender-error.
  2. When,我在数字加载上部署了React.js应用程序,我总是必须声明我的应用程序正在使用的引擎。也许你必须为Vercel做些简单的事情,因为其中一幅错误代码图像对它找不到/server/next:

这一事实进行了预测。

代码语言:javascript
运行
复制
 "name": "wixten",
 "private": true,
 "main": "index.js",
 "engines": {
      "node": "8.11.x",
    "npm": "~1.0.20"
  },
票数 1
EN

Stack Overflow用户

发布于 2022-02-25 14:33:29

我看到两个潜在的问题,为什么会发生这种情况。

  1. 出于某种原因,您的应用程序(prob )。( Vercel)需要您指定应用程序的主入口点。我根据你的错误信息得出了这个潜在的结论。您应该转到根目录中的package.json文件,并在文件开头添加类似的内容,然后重新部署.

代码语言:javascript
运行
复制
{
  "name": "app-name",
  "version": "1.0.0",
  "description": "...",
  "main": "index.js",  <------------------ this
  "scripts": {
    "dev": "next",
    "build": "next build",
    "start": "next start"
  },
... rest of content 

  1. 另一个问题可能是,您意外地将node_modules文件夹从应用程序的根文件夹提交到项目的Git或Vercel服务器。你应该检查一下是否是这样的。

  1. 您在package.json中的“脚本”可能有问题,但是我没有具体使用Vercel,所以我很难说。

如果你在你的应用上安装了Vercel CLI ..。您可以使用$vercel dev命令在本地复制Vercel部署环境,允许您测试您的Serverless函数,而无需每次进行更改时都进行部署。

https://vercel.com/blog/vercel-dev#get-started

票数 0
EN

Stack Overflow用户

发布于 2022-04-04 13:01:18

您能否检查代码中的任何部分(组件/页/等)中是否有import next from 'next'?如果您这样做了,尝试从您的代码中删除它,并查看它是否解决了您的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71221556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档