-
[npm] Working with package.json개발/JS 2018. 4. 16. 15:17
05. Working with package.json
로컬에 설치된 npm 패키지를 관리하는 최상의 방법은 package.json 파일을 생성하는 것입니다.
package.json 파일은 :
- 프로젝트가 의존하고 있는 패키지들의 리스트를 보여줍니다.
- semantic versioning rule에 따라 프로젝트에 의존한 패키지들의 버전을 설정할 수 있습니다.
- 빌드를 재현할 수 있으므로, 좀 더 쉽게 다른 개발자와 공유할 수 있습니다.
요구사항
package.json 파일이 반드시 가져야하는 것
- "name"
- 소문자
- 한단어, 띄어쓰기 허용X
- - (dashes) 와 _ (underscores) 허용O
- "version"
- x.x.x 형태
- semver spec을 따름
{
"name" : "my-awesome-package",
"version" : "1.0.0"
}
package.json 파일 생성하기
1. Run a CLI questionnaire
> npm init
2. Create a default package.json
> npm init --yes
#--yes === -y
위 명령어는 현재 디렉토리로부터 정보를 추출해서 해당 package.json 파일을 생성합니다.
{
"name": "my_package", "description": "", "version": "1.0.0", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "repository": { "type": "git", "url": "https://github.com/ashleygwilliams/my_package.git" }, "keywords": [], "author": "", "license": "ISC", "bugs": { "url": "https://github.com/ashleygwilliams/my_package/issues" }, "homepage": "https://github.com/ashleygwilliams/my_package" }- name : 현재 디렉토리 이름
- version : 항상 1.0.0
- description : readme 정보 또는 ""
- main : 항상 index.js
- scripts : 기존적으로 빈 테스트 스크립트를 만든다.
- keywords : empty
- author : empty
- license : ISC
- bugs : 현재 디렉토리의 정보
- homepage : 현재 디렉토리의 정보
다음과 같이 명령어 실행시 옵션을 설정할 수 있습니다.
> npm set init.author.email "wombat@npmjs.com" > npm set init.author.name "ag_dubs"> npm set init.license "MIT"
Dependencies 지정하기
프로젝트가 의존하는 패키지를 지정하려면 package.json 파일에 사용할 패키지들을 나열해야합니다.
그리고 패키지들은 두 개의 타입으로 나열될 수 있습니다.
- "dependencies" : 프로젝트 배포 시
- "devDependencies" : 프로젝트 개발 또는 테스트 시
package.jsondp dependencies를 추가하는 더 쉬운 방법은 npm install 명령어 실행시 --save 또는 --save-dev 플래그를 사용하는 것 입니다.
> npm install <package_name> --save
> npm install <package_name> --save-dev
'개발 > JS' 카테고리의 다른 글
[ERROR] mongoskin에서 TypeError: Cannot read property 'apply' of undefined (0) 2018.06.25 [error] Failed to load c++ bson extension, using pure JS version (0) 2018.06.24 [npm] 전역에 패키지를 설치/삭제해보기 (0) 2018.04.16 [npm] 로컬 패키지 설치하기 (0) 2018.04.13 [npm] npm 시작하기 (0) 2018.04.11