
: React를 기반으로 만들어진 프레임워크
일반적으로 Next.js는 다음과 같은 파일 구조를 가짐
.
├── README.md
├── package-lock.json
├── package.json
├── public
├── src
├── pages
├── styles
├── node_modules
├── components
└── ./next
npx create-next-app "[프로젝트명]"
// 타입스크립트 버전
$npx create-next-app --typescript
// 실행하는 법
npm run dev || yarn dev
Next에서 제시하는 데이터를 패칭하는 방법에는 아래와 같은 방법들이 있다.
: 서버가 데이터를 가져와서 화면을 그려주는 것
getServerSideprops 라는 함수를 사용해서 서버쪽에서 데이터를 그려주게 사용하면 됨
프론트에서 해당 함수를 내보내면 Next.js는 getServerSideProps가 반환한 데이터를 사용하여 각 요청마다 이 페이지를 사전 렌더링!
getServerSideprops는 서버 측에서만 실행되며, 브라우저에서는 실행되지 XX
SSR을 사용하면 터미널에 server라는 메세지가 찍히는 것을 확인 할 수 있음
: 클라이언트가 데이터를 가져와서 그려주는 것
alias : 모듈을 Import 할때, 특정 경로를 다른 경로로 매핑하는 기능을 의미
-모듈을 더 쉽게 참조하고 관리할 수 있게 도와줌
// tsconfig.json or jsconfig.json
{
"compilerOptions": {
"paths": {
"@/*": ["./src/*"]
}
},
}
위에 있는 코드는 alias 를 사용한 것이라고 할 수 있음.
위 코드의 의미는 @로 시작하는 경로를 통해, ./src/를 대체할 수 있는 것.
예를 들면 다음과 같다.
//상대경로를 사용하여서 import 하기
import Hi from '@/components/Hi';
//alias를 사용한 절대경로를 통해서 import 하기
import Hi from './src/components/Hi';
// 위에 있는 2개의 import문은 동일한 것을 의미함