프로젝트 만들기
처음부터 진짜 Node.js 프로젝트 세팅하기
⏱ 예상 ~9분
01 · 읽기
본인이 써 본 모든 소프트웨어 — 폰 앱부터 거대한 웹사이트까지 — 다 이렇게 시작했어요. 누군가가 빈 폴더를 만들고, 그 안에 프로젝트를 세팅했죠. 다음으로 본인이 할 일이에요.
프로젝트를 처음부터 제대로 세팅하면, 나중에 많은 문제를 아낄 수 있어요. Node.js 에서 프로젝트는 특별한 게 아니에요. 그냥 package.json 설정 파일이 있는 폴더예요. 본인 프로젝트의 이름, 버전, 의존성을 추적하죠. 이 파일이 없으면, npm 같은 도구는 본인 프로젝트가 뭐가 필요한지 또는 어떻게 실행할지 알 수가 없어요.
새 아파트로 이사 가는 거랑 비슷해요. 인테리어를 하거나 친구를 초대하기 전에, 임대 계약에 사인하고 열쇠를 받아야 해요. npm init 은 임대 계약 사인이에요. 공식 문서 (package.json) 를 만들어서 '이 폴더는 진짜 프로젝트' 라고 선언해 줘요.
💡 상상해 봐요프로젝트를 시작하는 건 새 아파트로 이사 가는 것과 같아요. 인테리어하거나 뭐든 짓기 전에, 임대 계약 (npm init) 에 사인하고 그걸 공식으로 만드는 문서 (package.json) 를 받아야 해요.
핵심 정리
- 모든 Node.js 프로젝트는 폴더와 package.json 으로 시작해요
- package.json 은 프로젝트의 정체성과 의존성을 추적해요
- 처음부터 제대로 세팅하면, 프로젝트가 커져도 엉망이 되지 않아요
02 · 실기 실습
모든 프로젝트는 폴더에서 시작해요. my-server 라는 폴더를 만들고, 그 안으로 들어가요. 이 두 명령어는 디렉토리를 만들고, 그 안으로 이동해요.
mkdir my-server && cd my-server
03 · 실기 실습
이제 npm 으로 프로젝트를 초기화해요. -y 플래그는 '전부 기본값 사용' 을 뜻해요. 질문은 건너뛰고, 바로 설정 파일을 만들어요.
npm init -y
04 · 퀴즈
npm init -y 에서 -y 플래그는 뭘 하나요?
- 최신 버전 npm 을 설치해요
- yarn.lock 파일을 만들어요
- 모든 질문을 건너뛰고 기본값을 사용해요
- Yes, 기존 파일을 삭제해요
05 · 실기 실습
npm 이 뭘 만들었는지 봐요. package.json 은 모든 Node.js 프로젝트의 심장이에요. 본인 프로젝트를 설명하고, 의존성을 추적해요.
cat package.json
06 · 빈칸 채우기
본인 프로젝트의 의존성을 추적하는 파일은 _____ 라고 해요.
07 · 읽기
package.json 의 각 필드가 뜻하는 것: - name — 본인 프로젝트 이름 (기본값은 폴더 이름) - version — 프로젝트 버전 번호 (1.0.0 에서 시작) - description — 프로젝트가 뭘 하는지 짧은 설명 - main — 엔트리 포인트 파일 (누가 본인 프로젝트를 import 할 때 실행되는 파일) - scripts — npm run <name> 으로 실행할 수 있는 커스텀 명령어 - keywords — npm 에 게시할 때 검색 태그 - license — 다른 사람이 본인 코드를 어떻게 쓸 수 있는지
나중에 가장 자주 다루게 될 중요한 필드는 dependencies 예요. 본인 프로젝트가 필요한 패키지를 모두 나열해요. 지금은 아직 아무것도 설치하지 않아서 비어 있어요.
핵심 정리
- package.json 은 모든 Node.js 프로젝트의 설정 파일이에요
- npm init -y 가 합리적인 기본값으로 만들어 줘요
- dependencies 필드는 본인 프로젝트가 어떤 패키지를 쓰는지 추적해요
08 · 퀴즈
npm install express 를 실행하려고 했는데, package.json 이 없다는 에러가 나와요. 먼저 뭘 해야 하나요?
- Node.js 를 다시 설치해요
- express.js 라는 파일을 수동으로 만들어요
- 대신 node install express 를 실행해요
- npm init -y 를 실행해서 package.json 파일을 만들어요
⚠ 전체 인터랙티브 경험에는 JavaScript가 필요해요. JavaScript를 켜고 새로 고침해 주세요.
※ 이 사이트는 독립 운영되는 교육 프로젝트로, Anthropic의 공식 제품이 아니에요. Claude™ 는 Anthropic, PBC 의 상표예요.