next 14 정적 배포

miin·2024년 12월 23일
0

Trouble Shooting

목록 보기
6/8
  • Dynamic route를 사용중에 정적 배포를 시도
  • 정적 배포를 하게 된다면 프론트 서버가 없기 때문에 Nextjs에서 서버를 사용하는 기능은 사용할 수 없다.
  • 대표적인 것이 Cookies, Rewrites, 동적 라우팅 등 많은 기능을 사용 할 수 없게 된다.

Error: Page "/[locale]" is missing "generateStaticParams()" so it cannot be used with "output: export" config.

  • 동적 경로가 locale와 slug로 두개였는데 하나만 generateStaticParams()에 기재했어서 났던 에러

  • 해결 코드

const nextConfig = {
  output: 'export',
};
export function generateStaticParams() {
  const slugArr: { locale: string; slug: string[] }[] = [];
  languages.forEach(lang => {
    availableVersions.forEach(v => {
      const arr = getApiSdkRoutesFlatten(v).map(item => ({
        locale: lang,
        slug: [v, ...item.href.split('/').slice(1)],
      }));
      slugArr.push(...arr);
    });
  });
  return slugArr;
}

0개의 댓글