반응형
npm 과 package.json
npm 은 Node Package Manager 의 약자로, node 로 생성한 패키지/프로젝트를 관리하는 도구입니다.
그리고 이러한 패키지/프로젝트 정보를 가지고 있는 것이 package.json 파일입니다.
npm 과 package.json 은 독립된 존재로 보는 것이 아니라 연관 지어 생각해야 합니다.
package.json 생성
npm 을 이용해 package.json 을 생성할 수 있습니다.
$ npm init
package.json 구조
- 예시) package.json
{
"name" : "test",
"version" : "1.0.0",
"description" : "test package.",
"main" : "test.js",
"scripts" : {
"test" : "echo 1",
"test2" : "echo 2",
},
"author" : "",
"license" : "ISC"
}
name
해당 프로젝트의 이름입니다.
version
해당 프로젝트의 버전입니다.
description
해당 프로젝트의 설명입니다. npm search 를 통해 패키지, 프로젝트를 검색할 수 있는데 이때 보이는 설명입니다.
main
해당 패키지의 진입점인 모듈입니다.
예를 들어 프로젝트의 이름이 test.js 일 때 require('test')
를 했을 때 실행되는 파일을 main 에 명시합니다.
scripts
복잡한 명령을 npm 을 이용해 단순화합니다.
npm run test
를 실행하면 echo 1 를 실행하고 터미널 창에 1이 찍히게 됩니다.
author
제작자의 정보입니다.
license
ISC 는 Internet Systems Consoritum 의 약자로 오픈소스임을 알립니다.
keywords
npm 에서 패키지를 찾을 때 사용하는 키워드입니다..
bugs
사용 중 에러/버그 발생 시 알려줄 담당자 정보입니다.
dependencies, devDependencies
의존성 모듈을 관리합니다.
- dependencies : 일반적인 배포환경에서 필요한 의존성 모듈
- devDependencies : 개발환경에서 필요한 의존성 모듈
의존성 모듈은 JSON 형태로 기록되며, [모듈 : 버전]
형태로 기록됩니다.
npm 을 이용해 모듈을 설치할 때 의존성 모듈을 자동으로 추가할 수 있습니다.
$ npm install --save express
--save 옵션을 주어 설치하면 package.json 은 다음과 같이 바뀝니다.
{
"name" : "test",
"version" : "1.0.0",
"description" : "test package.",
"main" : "test.js",
"scripts" : {
"test" : "echo 1",
"test2" : "echo 2",
},
"author" : "",
"license" : "ISC",
"dependencies" : {
"express" : "version"
}
}
- devDependencies 에 추가하고 싶다면
npm install --save -dev [패키지]
형태로 설치할 수 있습니다.
반응형
'Study > Express(node.js)' 카테고리의 다른 글
express ) express-generator 프로젝트 생성하기 (0) | 2022.02.05 |
---|---|
express ) 미들웨어 (0) | 2022.02.04 |
express ) Router (0) | 2022.01.17 |
node.js ) 웹서버 기초 (2) - GET, POST, 정적/동적 파일제공 (0) | 2022.01.16 |
Node.js ) 웹서버 기초 (1) - http 모듈, 요청 객체, 응답객체 (0) | 2022.01.15 |
댓글