2

我目前的 Next.js 应用程序部署存在问题。在遵循 netlify 博客中关于如何使用 netlify for Next.js 创建服务器端呈现应用程序的指南之后,我能够成功构建,但我的网站似乎无法正常工作。

该网站目前位于https://sleepy-murdock-8d5427.netlify.app/。错误消息将粘贴在下面。

{
"errorType": "Runtime.UnhandledPromiseRejection",
"errorMessage": "FetchError: request to http://localhost:3000/api/notes failed, reason: connect ECONNREFUSED 127.0.0.1:3000",
"trace": [
"Runtime.UnhandledPromiseRejection: FetchError: request to http://localhost:3000/api/notes failed, reason: connect ECONNREFUSED 127.0.0.1:3000",
"    at process.<anonymous> (/var/runtime/index.js:35:15)",
"    at process.emit (events.js:315:20)",
"    at processPromiseRejections (internal/process/promises.js:209:33)",
"    at processTicksAndRejections (internal/process/task_queues.js:98:32)"
]
}
4

1 回答 1

3

Netlify 只能提供静态网页。出于这个原因,我不建议在 netlify 上提供 ssr 应用程序。-> 它会将您的 ssr 应用程序创建为静态网页。正因为如此,大多数 next.js 功能都喜欢getStaticProps并且getStaticPaths不起作用。您需要为此提供功能

要在 netlify 上提供服务端渲染应用程序,您必须构建和导出每个页面。

为此,我将这些行添加到我的package.json文件中。

{
  "scripts": {
    "build: "next build",
    "export": "next export",
    "deploy": "npm run build && npm run export"
  }
}

当您将站点部署到 netlify时,您的站点应该处于活动状态并呈现为静态应用程序。

于 2020-09-04T20:37:17.687 回答