본 글은 Next.js14 기반으로 작성 됐습니다.
설치
create-next-app
npx 패키지를 사용하여 next.js 프로젝트를 생성할 수 있지만 프로젝트 초기세팅을 경험해보기 위해
typescript 를 적용한 프로젝트를 직접 A to Z로 생성해봤다.
npx create-next-app@latest --typescript // 타입스크립트를 사용하는 프로젝트 생성
수동설치
결론부터 말하자면 수동으로 프로젝트를 생성하는 건 생각했던 거만큼 어렵지 않았다.
오히려 npx로 생성할 때보다 직관적이고 필요 없는 파일들을 생성하지 않아도 된다는 게 맘에 들었다.
프로젝트를 생성 하는 과정은 다음과 같다.
프로젝트 폴더생성
mkdir next-test
생성해준 폴더에 명령어를 입력 해준다.
npm init -y
여기까지 했다면 next-test 폴더에는 package.json 이 생성 됐을것이다.
- package.json 에서 license 를 MIT 로 변경, script 설정에서 "dev" : "next dev" 추가
- app/page.tsx 생성 후 page에 아래와 같은 JSX 문법을 작성해준다.
export default function page() { return "Hello World!" }
- 터미널에서 react 패키지들을 설치 해준다
npm i react@latest next@latest react-dom@latest
- 설치된걸 확인한 뒤 실행 명령어 커맨드 입력
npm run dev
위에 과정들을 하고난 뒤 app 경로에 layout.tsx 가 생성 됐을것이다.
여기까지 별 문제없이 생성 됐다면 기본적인 세팅은 끝났다.
TS 세팅
- npm install --save-dev @types/react @types/node 라이브러리 설치
- npm run dev 커맨드 입력후 프로젝트 잘 실행되나 확인한다.
UMD 경고?
세팅을 다 하고나니 갑자기 경고창이 생성됐다.
'React'은(는) UMD 전역을 참조하지만 현재 파일은 모듈입니다. 대신 가져오기를 추가해 보세요.
이런 경고가 자꾸 생성돼서 검색을 통해 삽질을 2시간 가량 했다.
해결이야 import React from 'react' 를 컴포넌트마다 작성하면 경고창이 안뜨지만,
원래 저 문구는 react17이상부터는 new JSX transform 지원해서 작성하지 않아도 자동으로 임포트가 돼야하기 때문에
굉장히 거슬렸다.
삽질한 시간에 비해 해결방법은 어렵지 않았다ㅜㅜ;
그냥 VSC를 종료했다가 다시키니 귀신같이 사라져 있었다.
'Programming > Next.js' 카테고리의 다른 글
ChunkLoadError: Loading chunk 608 failed. , Uncaught Error: Minified React error #423; visit (0) | 2025.02.12 |
---|---|
Next.js 란? (4) | 2024.03.04 |