Next.js getServerSideProps в Vercel страница не открывается, ошибка: The serverless function has timed out

Столкнулся с ошибкой Vercel, после того как перешёл на SSR в Next.js (добавил на страницу getServerSideProps). На локалке всё работало, а после деплоя в Vercel, страница не грузится, показывает ошибку "The serverless function has timed out".


Ответы (1 шт):

Автор решения: Андрей Рик

Спустя множество часов и попыток я нашёл решение. Проблема была в том, что Vercel на бесплатной версии вообще грубо говоря не разрешает использовать getServerSideProps, выдавая эту ошибку.

Нужно переключиться на план PRO (или использовать другой хостинг, не Vercel), кроме того, недостаточно просто переключить Vercel на план PRO, нужно ещё создать файл vercel.json в корне проекта, в котором указать адреса динамических страниц с SSR, и расширить для них настройки памяти и ожидания.

Я сделал наверху для всех страниц, и на всякий случай ещё два важных роута добавил (именно они не работали). Это сработало. Надеюсь кому-то сэкономил время, т.к. сам очень долго искал решение.

Пример содержимого vercel.json ниже:

{
  "framework": "nextjs",
  "functions": {
    "src/pages/**/*": {
      "memory": 3008,
      "maxDuration": 20
    },
    "src/pages/all-therapists/index.tsx": {
      "memory": 3008,
      "maxDuration": 24
    },
    "src/pages/all-therapists/[diseaseUrl].tsx": {
      "memory": 3008,
      "maxDuration": 24
    }
  }
}
→ Ссылка