React를 위한 프레임워크로 weback과 같은 번들러, Babel과 같은 컴파일러를 사용하여 코드를 변환해주거나 코드 분할과 같은 프로덕션 최적화 및 성능, SEO(검색 최적화), SSR(서버사이드 렌더링)등을 수행한다.
Next.JS 설치에 앞서 VScode등 IDE 및 Node.js가 설치되어 있어야한다.
npx create-next-app [프로젝트명]
Node.js가 설치되어 있다면 콘솔창에 npx create-next-app이란 명령어를 통해 프로젝트를 자동으로 설치 할 수 있다.
필자는 npx create-next-app next-tutorial 로 프로젝트를 생성했다.
명령어를 입력하게되면 react, react-dom, next등 기본적으로 의존성이 있는 모듈들이 설치된다.
설치가 완료되면 프로젝트명과 동일한 디렉토리가 생성된다. Next.js의 관련 파일들이 모두 들어있으므로
프로젝트 디렉토리로 이동하자.
cd next-tutorial
npm run dev
이동 후 npm run dev이란 명령어를 입력하면
다음과 같이 로컬 3000번 포트에 실행이 된다. http://localhost:3000에 접속해보자.
위 사진과 같이 나오면 정상적으로 Next.js가 설치된 것이다.
디렉토리 구조를 보면 다음과 같다.
메인 화면인 index.js 파일을 열어 보면 다음과 같다. 이제부터 Next.JS 기반으로 React를 연습할 것이기 때문에 필요 없는 부분을 삭제해 주도록 하자.
import Head from 'next/head'
import Image from 'next/image'
import styles from '../styles/Home.module.css'
export default function Home() {
return (
<div className={styles.container}>
<Head>
<title>Create Next App</title>
<meta name="description" content="Generated by create next app" />
<link rel="icon" href="/favicon.ico" />
</Head>
<main className={styles.main}>
<h1 className={styles.title}>
Welcome to <a href="https://nextjs.org">Next.js!</a>
</h1>
<p className={styles.description}>
Get started by editing{' '}
<code className={styles.code}>pages/index.js</code>
</p>
<div className={styles.grid}>
<a href="https://nextjs.org/docs" className={styles.card}>
<h2>Documentation →</h2>
<p>Find in-depth information about Next.js features and API.</p>
</a>
<a href="https://nextjs.org/learn" className={styles.card}>
<h2>Learn →</h2>
<p>Learn about Next.js in an interactive course with quizzes!</p>
</a>
<a
href="https://github.com/vercel/next.js/tree/master/examples"
className={styles.card}
>
<h2>Examples →</h2>
<p>Discover and deploy boilerplate example Next.js projects.</p>
</a>
<a
href="https://vercel.com/new?utm_source=create-next-app&utm_medium=default-template&utm_campaign=create-next-app"
className={styles.card}
>
<h2>Deploy →</h2>
<p>
Instantly deploy your Next.js site to a public URL with Vercel.
</p>
</a>
</div>
</main>
<footer className={styles.footer}>
<a
href="https://vercel.com?utm_source=create-next-app&utm_medium=default-template&utm_campaign=create-next-app"
target="_blank"
rel="noopener noreferrer"
>
Powered by{' '}
<span className={styles.logo}>
<Image src="/vercel.svg" alt="Vercel Logo" width={72} height={16} />
</span>
</a>
</footer>
</div>
)
}
모두 삭제하고 나면 깔끔해진 index.js 파일을 볼 수 있다.
import styles from '../styles/Home.module.css';
export default function Home() {
return (
<div>
</div>
)
}
React에서 return안에 최상위 컴포넌트가 무조건 하나 있어야하므로 div를 하나 남겨두었다. 만약 div를 생성하고 싶지 않으면 <Fragment> </Fragment>혹은 <></>로 감싸주면 된다!
Home.module.css는 Home 컴포넌트의 css 파일이므로 그안에 내용도 싹다 지워주자!
마지막으로 컴포넌트들을 모아서 관리할 폴더를 만들어주자.
최상단 폴더 하위에 component란 파일을 만들어 주자. 필자는 next-tutorial 하위에 만들었다.
자 이제 react를 공부할 준비는 다되었다!
[Next.js] 5. Data Fetching(데이터 가져오기) - getServerSideProps (0) | 2022.07.21 |
---|---|
[Next.js] 4.Data Fetching(데이터 가져오기) - getStaticPaths (0) | 2022.07.20 |
[Next.js] 3.Data Fetching (데이터 가져오기) - getStaticProps (0) | 2021.08.27 |
[Next.js] 2. Pages와 렌더링 방식 정리 (0) | 2021.08.27 |
댓글 영역