package.json 이란?
npm 의존성 모듈 관리 파일로 모듈의 버전관리 문제를 해결해 준다.
프로젝트가 의존하고 있는 다른 프로젝트를 명시할 수 있다.
package.json 구성요소
name: 프로젝트의 이름
version: 프로젝트 버전. 주버전, 부버전, 수버전으로 구분해 표현한다 ex)2,1,3
name과 version을 통해 각 패키지의 고유성을 판별한다.
description: 프로젝트의 구체적인 설명
keyword: 키워드를 문자열 배열로 설명
homepage: 프로젝트 홈페이지가 있을 경우 이 항목에 입력
bugs: 프로젝트 이슈와 버그 트래킹을 볼 수 있는 url과 이슈를 알릴 email 주소를 입력한다. 이 항목은 패키지 사용자가 문제에 직면했을 때 도움을 주기 위함
"bugs":{
"url":http://github.com/owner/project/issues,
"email":"project@hostname.com"
}
license: 어떻게 권한을 얻고 어떤 금기사항이 있는지 알게하기 위해 라이센스 명시
"license": "BSD-3-Clause"
author, contributors: author는 한사람, contributors는 여러사람을 배열로
repository: 소스 코드가 관리되는 저장소 위치
"repository": {
"type": "git",
"url": "http://github.com/npm/npm.git"
}
"repository": {
"type": "svn",
"url": "http://v8.googlecode.com/svn/trunk/"
}
scripts: 패키지에서 반복적으로 사용할 주요 명령들을 지정
"scripts": {
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
"start": "npm run dev",
"build": "node build/build.js",
}
dependencies: 이 패키지를 활용할 때 필요한 의존성을 명시. npm install --save 명령을 통해 패키지를 설치하면 이 항목에 프로젝트 정보가 저장된다.
- version : 명시한 version 과 일치해야 한다.
-
> version : 명시한 version 보다 높아야 한다.
- ~version : 명시한 version 과 근사한 버전
- ^version : 명시한 version 과 호환되는 것
- *, "": 모든 버전을 말한다.
- range1 || range2 : range1 또는 range2
"dependencies": {
"foo": "1.0.0 - 2.9999.9999",
"bar": ">=1.0.2 <2.1.2",
"baz": ">1.0.2 <=2.3.4",
"boo": "2.0.1",
"qux": "<1.0.0 || >=2.3.1 <2.4.5 || >=2.5.2 <3.0.0",
"asd": "http://asdf.com/asdf.tar.gz",
"til": "~1.2",
"elf": "~1.2.3",
"two": "2.x",
"thr": "3.3.x",
"lat": "latest",
"dyl": "file:../dyl"
}
devDependencies: 패키지를 테스트하거나 개발할 때 필요한 패키지들을 명시. npm install --save-dev 명령을 통해 패키지를 설치하면 이 항목에 프로젝트 정보가 저장된다.
'기록' 카테고리의 다른 글
Git Category (0) | 2020.07.30 |
---|---|
mobile pc 구분 (0) | 2020.07.27 |
[Vue] Cli? Webpack? 간단 개념 (0) | 2020.07.08 |
Git alias (0) | 2020.06.30 |
[Vue] Router (0) | 2020.06.27 |