Как я могу развернуть приложение Next.js в Netlify?
В настоящее время я столкнулся с проблемой при развертывании приложения Next.js. Следуя руководству из блога netlify о том, как создать приложение с рендерингом на стороне сервера с использованием netlify для 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)"
]
}
1 ответ
Netlify может обслуживать только статические веб-страницы. По этой причине я не рекомендую обслуживать приложения ssr на netlify. -> Это создаст ваше приложение ssr на статической веб-странице. Из-за этого большинство функций next.js вродеgetStaticProps
а также getStaticPaths
не будет работать. Для этого нужны функции.
Чтобы обслуживать приложение для рендеринга на стороне сервера в netlify, вам необходимо создать и экспортировать каждую страницу.
Для этого я добавил эти строки в свой package.json
файл.
{
"scripts": {
"build: "next build",
"export": "next export",
"deploy": "npm run build && npm run export"
}
}
Ваш сайт должен быть активен и отображаться как статическое приложение при его развертывании в netlify.