Next.js: The React Framework
Next.js는 리엑트 어플리케이션에서 SSR을 쉽게 구현해주는 프레임워크이다.
Pre-rendering
, SSG(static generation)
과 SSR(server-side rendering)
둘 다 페이지 기반 단위에서 지원해준다.code spliting
으로 빠른 페이지 로드prefetching
과 함께 Client-side routing
Built-in CSS
와 Sass 지원, CSS-in-JS 라이브러리 지원Fast Refresh
과 함께 개발 환경 지원(webpack, babel 등)
📌 Pre-rendering
기본적으로 Next.js는 모든 페이지를 미리 렌더한다.
이것은 Next.js가 클라이언트 측 JavaScript로 모든 것을 수행하는 대신 각 페이지에 대해 미리 HTML을 생성하는 것을 의미한다.
Pre-rendering은 SEO와 performance에서 더 나은 결과를 가져올 수 있다.
각각 생성된 HTML은 각 페이지에 필요한 최소한의 JavaScript 코드와 연관되어진다.
페이지를 브라우저에서 로드할 때, JavaScript 코드는 페이지에 충분한 인터렉션이 만들어지고 수행된다. (이 과정은 hydration 이라고 한다.)
라이브러리 추가
yarn add next react react-dom
package.json 'scripts'에 추가
"scripts": {
"dev": "next dev", // deveopment 모드에서 실행
"build": "next build", // 상품 사용을 위한 어플리케이션 빌드 실행
"start": "next start", // production 서버에서 실행
"lint": "next lint" // built-in ESLint configuration
}
: Next.js 에서 app 컴포넌트는 초기 페이지로 사용한다. app 컴포넌트를 사용해 페이지 초기를 조정할 수 있다.
: document는 <html>
, <body>
태그를 페이지 렌더에 사용하기 위해 업데이트 할 수 있다. 이 파일은 오직 서버에서 렌더되고 onClick같은 이벤트 핸들러는 사용할 수 없다. _app 다음에 실행된다.
: 경로는 자동적으로 파일 이름으로 지정되는데 디렉토리의 root파일은 index.js가 된다.