[NPM] npm install시 package.json 사용하기.

npm 의존성 패키지를 설치하는 방법으로 package.json을 생성하여 이용하는 방법이 있다.

package.json 파일을 사용하면 얻는 이점
1. package.json 자체로 프로젝트에서 어떠한 의존성을 이용하고 있는지 설명해준다.
2. semantic version rules를 이용하여 프로젝트의 패키지 버젼을 지정할 수 있다.
3. 빌드를 다시 수행할 수 있다. 이는 다른 개발자와 협업을 쉽게 해준다.

필수사항 : 

package.json의 최소 요건은 다음과 같다.

1. "name"
- 모두 소문자로 작성 되어야한다.
- 공백 없이 한단어가 되어야한다.
- 대쉬(-), 언더스코어(_) 는 허용된다.

2. "version"

예제 :
{
  "name": "test-package",
  "version": "1.0.0"
}

package.json 생성하기

package.json을 생성하는 2가지 방법은 다음과 같다.

1. 대화형 
// 대화형식으로 물어보면서 package.json 파일을 생성한다.
npm init
대화형 패키지 생성 과정 :
KIDOui-iMac:~ KIDO$ npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.
See `npm help json` for definitive documentation on these fields
and exactly what they do.
Use `npm install <pkg> --save` afterwards to install a package and
save it as a dependency in the package.json file.
Press ^C at any time to quit.
name: (KIDO) test-package
version: (1.0.0)
description: my_test_package
git repository:
author: test_author
license: (ISC) ISC
About to write to /Users/KIDO/package.json:
{
  "name": "test-package",
  "version": "1.0.0",
  "description": "my_test_package",
  "main": "index.js",
  "dependencies": {
    "connect": "^3.4.1"
  },
  "devDependencies": {},
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "test_author",
  "license": "ISC"
}

Is this ok? (yes) yes 

 2. 기본 생성형 
// 디폴트 값을 이용하여 package.json파일을 생성한다.
npm --yes
npm -y

디폴트 생성결과
KIDOui-iMac:~ KIDO$ cat package.json
{
  "name": "KIDO",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "dependencies": {
    "connect": "^3.4.1"
  },
  "devDependencies": {},
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"

필드 설명 : 

name
- 기본적으로 author의 이름이며, 지정하지 않는경우 git의 리포지토리 이름이 세팅된다.

version
- 항상 1.0.0이다.

main
- 항상 index.js이다.

scripts
- 입력하지 않으면 기본적으로 test 스크립트를 생성한다.

keywords
- 빈값이 기본으로 들어간다.

author
- CLI가 제공된경우 해당 내용이 표시된다.

license
- ISC이다.

repository
- git등이 존재하면 현재 디렉토리의 정보를 뽑아올 것이다.

bugs
- 현재 디렉토리로 부터 정보를 뽑아온다.

homepage
- 현재 디렉토리로 부터 정보를 뽑아온다.

기본적으로 몇가지 설정 옵션을 init command에 설정할 수 있다.
> npm set init.author.email "wombat@npmjs.com"
> npm set init.author.name "ag_dubs"
> npm set init.license "MIT"

패키지 의존성 지정하기. 

패키지 의존성을 지정하는 타입은 2가지가 있다.
"dependencies" : 이 패키지들은 프로덕션에서 당신의 어플리케이션에 의해 필요한 패키지를 나열한다.
"devDependencies" : 이 패미지들은 오직 개발과 테스팅에서만 필요한 패키지를 나열한다.


수동으로 의존성 지정하기. 

- 수동으로 의존성을 지정하기 위해서는 package.json 파일을 열고 dependencies와 devDepencencies 영역을 추가하면 된다.
{
  "name": "my_package",
  "version": "1.0.0",
  "dependencies": {
    "my_dep": "^1.0.0"
  },
  "devDependencies" : {
    "my_test_framework": "^3.1.0"
  }
}

자동으로 의존성 지정하기.

1. depencencies 영역에 추가하기.
npm install <package_name> --save
2. devDepencencies 영역에 추가하기.
npm install <package_name> --save-dev

참고 : https://docs.npmjs.com/getting-started/using-a-package.json




Share this

Related Posts

Previous
Next Post »

2 개의 댓글

Write 개의 댓글