기록

package.json

haeeeun 2020. 7. 21. 00:10

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