- 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;
}