package. json 매개 변수 상세 설명

5327 단어
package. json 은 JavaScript 대상 의 글자 만 이 아니 라 순수 JSON 이 어야 합 니 다.
name 과 version
name 과 version 필드 는 package. json 파일 에서 가장 중요 한 필드 입 니 다.이것 은 필수 필드 입 니 다. npm 패키지 가 이 두 필드 를 지정 하지 않 으 면 설치 할 수 없습니다.name 과 version 필드 는 유일한 식별 자로 설정 되 어 있 습 니 다.가방 내용 의 변경 과 가방 버 전의 변경 은 동기 화 됩 니 다.
description
npm 패키지 에 대한 설명, description 은 문자열 입 니 다.npm search 를 사용 할 때 이 가방 을 찾 을 수 있 도록 도와 줍 니 다.
keywords
npm 패키지 의 키 워드 는 문자열 의 배열 입 니 다.npm search 를 사용 할 때 이 가방 을 찾 을 수 있 도록 도와 줍 니 다.
homepage
프로젝트 홈 페이지 의 url
bugs
항목 의 issue 추적 페이지 나 이 보고 issue 의 email 주 소 를 변경 합 니 다.이것 은 이 가방 을 사용 하 는 데 문제 가 있 는 사용자 에 게 도움 이 될 것 이다.
license
증서 의 허가.SPDX 표현 식: { "license": "ISC" } { "license": "(MIT OR Apache-2.0)" } 보통 우 리 는 다른 사람 에 게 어떠한 형식 으로 도 사용 할 수 있 는 개인 가방 이나 발표 되 지 않 은 가방 을 권한 을 부여 하고 싶 지 않 습 니 다. 이렇게 쓸 수 있 습 니 다. { "license": "UNLICENSED"} 또는 설정 "private": trueauthor, contributors
필드
files
files 필드 는 항목 에 포 함 된 파일 이름 배열 입 니 다. 폴 더 이름 을 넣 으 면 이 폴 더 의 모든 파일 이 항목 에 포 함 됩 니 다. (다른 규칙 에서 무시 되 는 파일 을 제외 하고)
main
main 필드 에서 모듈 의 입구 프로그램 파일 을 지정 하 였 습 니 다.모듈 이름 이 'foo' 라면 사용자 가 설치 하고 require ('foo') 를 호출 하면 이 main 필드 에서 지정 한 모듈 내 보 내기 대상 이 되 돌아 온 다 는 것 이다.예 를 들 어 nodemodules 에서 도입 한 모듈 은 주 입구 파일 을 지정 합 니 다.
bin
많은 가방 들 이 시스템 경로 에 설치 되 기 를 원 하 는 실행 가능 한 파일 이 하나 이상 있 습 니 다.빈 필드 를 제공 합 니 다. 명령 이름과 로 컬 파일 이름 의 맵 입 니 다.설치 할 때 전체 설치 라면 npm 는 심 볼 릭 링크 를 사용 하여 이 파일 들 을 prefix / bin 에 연결 합 니 다. 로 컬 설치 라면. / node 에 연 결 됩 니 다.modules/.bin/。
예 를 들 어 my app 을 명령 으로 사용 하려 면 이렇게 할 수 있 습 니 다. { "bin" : { "myapp" : "./cli.js" } } my app 을 설치 하면 npm 는 cli. js 파일 에서 / usr / local / bin / my app 까지 의 심 볼 릭 링크 를 만 듭 니 다. (명령 행 에서 my app 을 직접 실행 할 수 있 습 니 다)
man
man 프로그램 이 사용 할 수 있 도록 단일 한 파일 이름 이나 파일 이름 배열 을 지정 합 니 다.man 필드 에 만 파일 을 제공 하면 설치 가 완료 되면 man 의 결과 입 니 다. 이것 은 이 파일 이름과 무관 합 니 다.
directories
CommonJS Packages 규범 은 directories 대상 으로 가방 구 조 를 표시 할 수 있 는 몇 가지 방법 (lib, bin, man, doc, example) 을 설명 합 니 다.
repository
코드 가 어디 에 맡 겨 졌 는 지 알려 주 는 것 은 이 프로젝트 에 참여 하고 싶 은 사람들 에 게 도움 이 된다.git 창고 가 github 에 있다 면 npm docs 명령 으로 찾 을 수 있 습 니 다.
scripts
scripts 필드 는 스 크 립 트 명령 으로 구 성 된 사전 입 니 다. 이 명령 들 은 가방 의 각 수명 주기 에서 실 행 됩 니 다.이 키 는 수명 주기 이벤트 이름 입 니 다. 값 은 실행 할 명령 입 니 다.
config
config 필드 는 패키지 스 크 립 트 의 크로스 버 전 인 자 를 설정 할 수 있 는 대상 입 니 다.
dependencies
dependencies 필드 는 의존 하 는 패키지 이름과 버 전 범위 의 맵 을 지정 하 는 대상 입 니 다.버 전 범 위 는 하나 이상 의 공백 구분자 가 있 는 문자열 입 니 다.dependencies 필드 는 tarball 이나 git URL 도 사용 할 수 있 습 니 다.
(테스트 나 과도 적 인 의존 을 dependencies 에 두 지 마 십시오)
devDependencies
프로젝트 에서 모듈 을 다운로드 하고 사용 할 계획 이 있다 면 외부 테스트 와 문서 프레임 워 크 를 개발 하고 싶 지 않 거나 필요 하지 않 을 수도 있 습 니 다.이 경우 이 추가 항목 을 devDependencies 에 두 는 것 이 좋 습 니 다.개발 모델 에서 의 의존 이다.
peerDependencies
어떤 경우 에는 호스트 가 패키지 에 의존 할 수 없 을 때 어떤 도구 나 라 이브 러 리 가 이 패키지 와 호 환 되 는 지 알려 주 고 싶 습 니 다.이것 은 보통 플러그 인 이 된다.특히 host 문서 에서 설명 한 모듈 은 특정한 인 터 페 이 스 를 노출 합 니 다.
bundledDependencies
가방 을 발표 할 때 가방 이름 의 배열 이 포 장 됩 니 다.
optionalDependencies
의존 항목 을 사용 할 수 있 지만 이 의존 항목 을 찾 을 수 없 거나 설치 할 수 없 을 때 npm 가 계속 처리 되 기 를 바 랍 니 다 (중단 하지 않 음). 그러면 optional Dependencies 에 넣 을 수 있 습 니 다.dependencies 와 마찬가지 로 optional Dependencies 는 패키지 이름과 버 전 번호 또는 url 의 맵 입 니 다.optional Dependencies 의 의존 구축 이 실 패 했 을 때 npm 전체 설치 에 실패 하지 않 는 다 는 차이 가 있 습 니 다.
그러나 당신 의 절 차 는 이러한 부족 한 의존 항 을 처리 할 책임 이 있 습 니 다. 예 를 들 어
try{
    var foo=require('foo')
    var fooVersion=require('foo/package.json').version
}catch(er){
    foo=null
}if(notGoodFooVersion(fooVersion)){
    foo=null
}//..thenlaterinyourprogram..if(foo){
    foo.doFooThings()
}

optional Dependencies 의 항목 은 dependencies 의 같은 이름 의 항목 을 덮어 쓰기 때문에 특정한 이름 의 항목 은 한 곳 에 만 나타 나 는 것 이 좋 습 니 다.
engines
node 의 작업 버 전 을 지정 할 수 있 습 니 다: { "engines" : { "node" : ">=0.10.3 <0.12" } }os
모듈 이 실행 중인 운영 체 제 를 지정 할 수 있 습 니 다. "os" : [ "darwin", "linux" ] 운영 체제 블랙리스트 로 화이트 리스트 를 대체 할 수도 있 습 니 다. 앞 에 '!' 만 추가 하면 됩 니 다."os" : [ "!win32" ]
cpu
특정 cpu 구조 에서 만 실행 할 수 있 음 을 표시 합 니 다.
preferGlobal
가방 이 전역 설치 가 필요 한 명령 행 이 라면 preferGlobal 을 true 로 설정 해 야 합 니 다. 이 가방 이 로 컬 에 설치 되면 경 고 를 보 냅 니 다.이 옵션 은 사용자 가 로 컬 에 이 가방 을 설치 하 는 것 을 막 지 는 않 지만, 이렇게 하면 가방 이 예상 한 대로 설치 되 지 않 아 많은 번 거 로 움 을 초래 할 때 힌트 를 제공 할 수 있 습 니 다.
private
가방 의 package. json 에 "private": true 를 설정 하면 npm 에서 발 표를 거부 합 니 다.이것 은 개인 가방 이 외부 에 발표 되 는 것 을 방지 하 는 방법 이다.
publishConfig
이것 은 Publish - time 에 사용 할 설정 집합 입 니 다.tag, registry, access 를 설정 하려 면 특히 유용 합 니 다. 따라서 주어진 가방 이 'latest' 표 시 를 하지 않 았 을 때 전체 공공 registry 에 발표 되 지 않도록 확보 할 수 있 습 니 다.모든 설정 이 덮어 쓸 수 있 습 니 다. 물론 "tag", "registry" 와 "access" 만 발표 의도 와 관련 이 있 을 수 있 습 니 다.
소감 을 총괄 하 다.
npm init 는 기본적으로 프로젝트 기반 구축 을 완성 할 수 있 습 니 다.일상 개발 private: true 그리고 의존 관 리 를 잘 하고 scripts 를 잘 쓰 면 됩 니 다.하지만 개원 프로젝트 를 개발 하려 면peerDependencies, license, reposcory 및 추가 bugs, homepage 와 같은 세분 화 된 것들 을 잘 알 아야 합 니 다.
레 퍼 런 스
package. json 상세 설명 Package. json 소개

좋은 웹페이지 즐겨찾기