Node.js 프로젝트의 핵심 파일인 package.json의 역할과 주요 필드에 대해 이해하고, npm init 명령어를 사용하여 package.json 파일을 생성하는 방법을 학습한다.
1. package.json의 역할
package.json이란?
· package.json은 Node.js 프로젝트의 설정 파일이다.
· 프로젝트의 메타데이터(이름, 버전, 설명 등)를 포함하며, 패키지 의존성, 스크립트, 기타 설정을 관리한다.
· 프로젝트의 의존성을 명확히 하고, 다른 개발자들이 프로젝트를 쉽게 설치하고 실행할 수 있도록 돕는다.
2. package.json의 주요 필드
name
· 프로젝트의 이름을 지정한다.
· 소문자와 하이픈(-)을 사용할 수 있으며, 고유해야 한다.
version
· 프로젝트의 버전을 지정한다.
· Semantic Versioning(semver) 표준을 따른다. 예: 1.0.0
description
· 프로젝트에 대한 간단한 설명을 제공한다.
main
· 애플리케이션의 진입점 파일을 지정한다. 예: index.js
scripts
· 프로젝트에서 자주 사용하는 명령어를 정의한다.
· npm run 명령어를 통해 실행할 수 있다.
{
"scripts": {
"start": "node index.js",
"test": "mocha"
}
}
dependencies
· 프로젝트에서 사용하는 패키지 의존성을 지정한다.
· npm install 명령어를 사용하여 추가된다.
{
"dependencies": {
"express": "^4.17.1"
}
}
devDependencies
· 개발 중에만 필요한 패키지 의존성을 지정한다.
· npm install --save-dev 명령어를 사용하여 추가된다.
{
"devDependencies": {
"mocha": "^8.3.2"
}
}
repository
· 프로젝트의 원격 저장소 정보를 지정한다.
{
"repository": {
"type": "git",
"url": "https://github.com/username/repo.git"
}
}
keywords
· 프로젝트와 관련된 키워드를 배열 형태로 지정한다. 검색 엔진 최적화에 도움이 된다.
{
"keywords": ["nodejs", "express", "web"]
}
author
· 프로젝트의 작성자 정보를 지정한다.
{
"author": "작성자 이름 <이메일주소>"
}
license
· 프로젝트의 라이선스를 지정한다.
{
"license": "MIT"
}
3. npm init 명령어를 사용하여 package.json 생성하기
npm init
· 새로운 Node.js 프로젝트를 초기화하고, package.json 파일을 생성한다.
· 여러 질문에 답변하여 프로젝트의 메타데이터를 입력할 수 있다.
npm init
npm init -y
· 기본값으로 package.json 파일을 생성한다. 모든 질문에 자동으로 응답한다.
npm init -y
예제: package.json 생성
mkdir my_project
cd my_project
npm init
· 위 명령어를 실행하면 프로젝트 이름, 버전, 설명 등을 입력하라는 메시지가 나타난다.
· 입력을 완료하면 package.json 파일이 생성된다.
실습: package.json 파일 생성 및 수정
1. 새 프로젝트 초기화
· npm init 명령어를 사용하여 새로운 Node.js 프로젝트를 초기화하고, package.json 파일을 생성하세요.
mkdir my_new_project
cd my_new_project
npm init
2. 기본값으로 package.json 생성
· npm init -y 명령어를 사용하여 기본값으로 package.json 파일을 생성하세요.
예제
npm init -y
3. package.json 수정
· 생성된 package.json 파일을 열고, 필요한 필드를 추가하거나 수정하세요.
· name, version, description, main, scripts, dependencies 등을 정의하세요.
예제: package.json 수정
{
"name": "프로젝트 이름",
"version": "1.0.0",
"description": "A sample Node.js project",
"main": "index.js",
"scripts": {
"start": "node index.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"dependencies": {
"express": "^4.17.1"
},
"author": "이름 <이메일 주소>",
"license": "MIT"
}
- 이전 수업 목록
'프로그래밍 > Node.js' 카테고리의 다른 글
[Node.js 강의 시리즈] 14강 - 비동기 프로그래밍 심화 (0) | 2024.07.11 |
---|---|
[Node.js 강의 시리즈] 13강 - 유용한 NPM 명령어 (0) | 2024.07.10 |
[Node.js 강의 시리즈] 11강 - NPM 패키지 설치 및 사용 (0) | 2024.07.08 |
[Node.js 강의 시리즈] 10강 - NPM과 패키지 관리 (0) | 2024.07.05 |
[Node.js 강의 시리즈] 9강 - 이벤트 모듈 (events) (0) | 2024.07.04 |