정적배포
안녕하세요 ! 강의를 따라하고있다가
문득 생각이 들었는데요.
channel / [id] 이렇게 동적 페이지가 나오게 되면
정적 배포를 하게 될땐
어떤 방식으로 하시게 되나요 ?
Answer 1
0
강의에서 다루지 않는 부분인데, SSR을 사용하는 중요한 이유중 하나 입니다.!
다이나믹 Routes 에서 channel / [id] 의 id 부분을 결정해야 합니다.
id 1번에는 어떤 데이터를 가져와서 정적 페이지를 만들지
id 2번에는 어떤 데이터를 가져와서 정적 페이지를 만들지를요.
export async function generateStaticParams() {
const posts = await fetch('https://.../posts').then((res) => res.json())
return posts.map((post) => ({
id: post.slug,
}))
}위 코드를 보시면 id 부분을 결정할 수 있는 특별함수 'generateStaticParams' 가 있습니다.
예를들어 posts가 1번부터 100번까지 나오면 총 100개의 static page가 만들어지겠죠!
참고 GPT 요약
Next.js의 App Router에서 동적 라우트에 페이지들을 동적으로 배포하기 위해서는 `generateStaticParams` 함수를 사용하여 빌드 시점에 동적 경로를 생성할 수 있습니다. 아래는 그 방법을 설명하는 예제입니다:
1. **폴더 구조 설정**:
```
/app
/products
/[id]
page.js
```
2. **`page.js` 파일 작성**:
```jsx
export default function ProductPage({ params }) {
return (
<div>
<h1>Product ID: {params.id}</h1>
</div>
);
}
```
3. **`generateStaticParams` 함수 사용**:
```jsx
export async function generateStaticParams() {
const products = await fetch('https://api.example.com/products').then(res => res.json());
return products.map(product => ({ id: product.id }));
}
```
이렇게 하면 빌드 시점에 동적 라우트가 생성되어, 각 제품 페이지가 정적으로 생성됩니다. 자세한 내용은 [Next.js 문서](https://nextjs.org/docs/app/building-your-application/routing/dynamic-routes#generating-static-params)를 참고하세요.
0
예를들어 posts가 1번부터 100번까지 나오면 총 100개의 static page가 만들어지겠죠!
말씀주셨는데요 ㅎ
그렇다면 처음에는 정적 페이지가 하나도 생성이 되지 않다가 사용자에 따라서 정적 페이지수가 증가하게 되나요 ?
4.6강 초기 로딩 속도 케이스 비교
0
85
2
Sidebar & Header 컴포넌트 등 레이아웃 설정 방식
0
89
3
문의드립니다.
0
145
3
Vercel signup이 안되요,, 계속 제 깃허브 계정은 추가 인증이 필요하다며 registration@vercel.com에 문의를 하라고 하네요,,, 이럴땐 진행을 어찌해야할까요,,,
1
101
2
에러, 로딩 내용 페이지를 모든 페이지에 다 만드는 이유가 따로 있나요?
2
158
3
3.2, 3.3 화면에 아무것도 나오지 않고 있습니다!
0
210
3
코드가 왜 그런지 모르겠는데, 이럴땐 어떻게 공부해야하나요?
1
221
3
강의외 복잡한 ui 입력폼 관련 질문 있습니다
1
218
2
npx랑 yarn이랑 같이 써도 되나요?
0
437
2
article / section 태그에 관해
0
179
1
카테고리 변경 시 이미지 로딩
1
191
2
next zustand 사용 시 문의
0
474
2
component 파일에서는 tsx파일이 아니라 jsx 파일을 쓰는 이유를 알 수 있을까요?
1
175
2
versel 을 통한 배포를 하는 것과 (홈서버 + 클라우드 플래어 프록시)를 하는 것을 비교해주실 수 있나요?
1
175
1
선생님 죄송한대
1
152
1
깃 push가 안되서 ssh를 한참해메고 있습니다. ㅠㅠ
1
143
1
Chapter 7 영상 화면이 안보입니다.
0
273
2
오류발생 문제입니다.
1
229
1
질문있습니다.
1
181
1
11.5 Channel 노래,앨범 section 강의중
0
153
1
소스 수정 후 자동 컴파일 문의드립니다.
1
281
2
zustand 상태관리
0
333
1
state에서 buffer랑 time이 안 나옵니다
0
199
2
components 들은 jsx 로 만드신 이유
0
311
3

