※ package.json 속성 설명
bin
- bin 속성은 실행할 수 있는 패키지를 만들 때 정의한다.
- 패키지를 설치할 때 npm은 bin속성에 정의된 파일의 Symlink를 생성.
"bin": { "log-run": "bin/cli.js" },
- 여기서 "log-run"은 CLI 명령어가 된다.
peerDependencies
- 호환성 모듈을 지정한다.
- 배포시 포함되지 않는다. 대신 호환성 모듈이 없으면 경고 메시지 준다.
"peerDependencies": { "jquery": "1.9.1 - 3", "popper.js": "^1.12.9" }
engines
- 패키지 Node 버전을 지정.
"engines": { "node": ">=0.10.3 <0.12", "npm" : "~1.0.20" }
※ npm 명령어
npm link
- 명령어를 수행한 위치의 패키지를 global한 상태로 심볼릭 링크로 연결한다.
- 심볼릭 링크로 생성되었기 때문에 bin/cli.js 를 수정하고 실행하더라도 수정된 내용이 반영된다.
npm ls -g --depth=0
- global 하게 링크된 명령어를 확인할 수 있다.
npm info {패키지명}
- 중복이름으로 패키지 출시할 수 없다.
$ npm info test2523452345 npm ERR! code E404 npm ERR! 404 'test465468486484' is not in the npm registry. npm ERR! 404 You should bug the author to publish it npm ERR! 404 (or use the name yourself!)
- 위와 같이 404가 뜨는 패키지명이면 출시가능.
npm install {패키지디렉터리}
- 로컬환경에서 테스트한다.
cd examples npm init -y npm install ../../npm-deploy
npm publish
- 배포한다.
- 배포하기 전에 특정 명령어를 실행할 필요가 있다면 아래와 같이 스크립트의 "prepare" 속성 사용.
"scripts": { "prepare": "rm -rf dist && tsc" },
npm unpublish
- 배포 모듈 삭제
# 특정 버전 npm unpublish npm-deploy@0.0.1 # 모든 버전 npm unpublish daleseo-hello-npm -f
※ 설정파일
.npmignore
- 배포에서 제외시킬 파일 설정, 예를 들면 패키지 개발에 사용했지만 배포시 필요없는 것들.
'Develop > Others' 카테고리의 다른 글
wsl node version & nvm node version (0) | 2022.01.01 |
---|---|
[npm] Github Actions로 npm publish 삽질기 (0) | 2021.12.18 |
방화벽 IP PORT 오픈 확인 (열려 있나?) (0) | 2021.10.15 |
Axios, Fetch로 온라인/오프라인 상태 체크 가능할까? (0) | 2021.10.07 |
안드로이드 & 애플 영상 공통 코덱 (0) | 2021.10.03 |
댓글