- pages폴더 안에 있는 파일이름들이 url과 매칭된다.
npm run dev
모드에서는 fast refresh
: 코드 변경시 바로바로 업데이트되어 화면에 나타난다.
npm run build
→ npm run start
모드에서는 코드 변경시 바로 변경되지 않는다. (실제 배포 환경)
- slug : products/[slug]에서 slug에는 다양한 url이 들어 올 수 있었다.
- Data-fetching은 페이지를 그리는 방식과 연관되어 있다. ← 데이터를 가져와서 그린다.
- Next.js에서 제공하는 페이지 그리는 방식 : SSR, CSR, SSG, ISR
- SSG : 빌드타임에 필요한 데이터를 가져오고, 화면을 그려놓았다.
- SSG는
npm run dev
환경에서는 SSR처럼 동작했다. 꼭 npm run build
→ npm run start
로 동작확인을 해야한다. 새로고침을 하더라도, 시간이 안바뀌었다.
- ISR : SSG에서 revalidate가 추가된개념, build환경에서 데이터를 가져온다.
- Pre-render : SEO와 초기 로딩 속도(빨라짐)을 가져오기 위해 사용함.
- SSG의 pre-render방식 : 빌드 타임에
- SSR의 pre-render방식 : 요청시
- 공통 되는 코드들을
Layout
이라는 컴포넌트에 몰아 넣고 (모듈화) _app.js
에서 사용하였다.
- SubLayout 컴포넌트를 만들고 getLayout 함수를 페이지마다 선언해서 페이지별 공통 요소들을 묶었다.
- 이미지 최적화 솔루션을 제공한다.