package.json
==========
실제 JSON 포맷이어야합니다.
JavaScript 객체가 아닙니다.
생성
------
```sh
npm init
```
프로젝트에대한 다양한 정보를 묻습니다.
샘플
-------
```js
{
"name": "tests",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
```
name
--------
package.json에서 가장 중요한 것은 이름과 버전 필드입니다. 패키지는 그것들없이 설치되지 않습니다.
이름과 버전은 함께 고유 한 것으로 간주되는 식별자를 형성합니다.
이름은 214자 이하로 해야합니다.
점이나 밑줄로 시작할 수 없습니다.
대문자를 포함해서는 안됩니다.
URL의 일부분이며 커맨드라인의 인수이고 폴더명입니다.
version
----------
패키지를 변경하면 버전이 변경됩니다.
버전은 node-semver에 의해 분석가능해야 합니다.
scripts
---------
여러 번 실행되는 스크립트 명령을 포함하는 dictionary입니다.
dependencies
-------------------
패키지 이름을 버전 범위에 매핑합니다.
하나 혹은 여러개의 공백으로 분리되어 설명된 문자열입니다.
#### version
```js
{ "dependencies" :
{
"foo" : "1.0.0"
}
}
```
정확하게 버전과 일치해야합니다.
#### ` >version`
```js
{ "dependencies" :
{
"foo" : ">1.0.2"
}
}
```
버전보다 커야합니다.
#### `~version`
```js
{ "dependencies" :
{
"foo" : "~1.2"
}
}
```
버전과 대략 동일해야 합니다.
#### `^version`
```js
{ "dependencies" :
{
"foo" : "^1.2"
}
}
```
버전과 호환 가능해야 합니다.
devDependencies
-------------------------
외부 테스트 또는 문서화 프레임 워크를 다운로드하고 빌드할 필요가 있을 겁니다.
이 경우 devDependencies 객체에 이러한 추가 항목을 매핑하는 것이 가장 좋습니다.
[TOC]