Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- useState
- npm
- JavaScript
- scope
- 리액트를 다루는 기술
- 취업준비
- CSR
- Redux
- 상태관리
- lexicalEnvironment
- Modules
- mobx
- vanilla.js
- 리액트
- 코딩테스트
- Binding
- 우아한테크러닝
- 개발일기
- 카카오페이
- react
- 함수 바인딩
- Groo
- state
- Hooks
- SSR
- 환경오염
- excutionContext
- closure
- 취준
- react.js
Archives
- Today
- Total
개발하자
Packages and Modules (NPM) 본문
Public Npm Registry
Database of Javascript Packages
- 각각은 소프트웨어와 메타데이터로 구성 됨
- packages and node modules를 포함
Packages and Modules
1. Packages
package.json에서 설명된 파일 또는 디렉토리
- npm registry에 발행되기 위해서는 package.json이 있어야만 함
- unscoped 또는 scoped 할수 있음 (사용자 또는 organization의 범위를 지정할 수 있다는 의미인듯)
- scoped package는 private 또는 public을 설정할 수 있음
- package formats
- package.json 파일을 포함해야 함
- (1)을 포함한 gzip으로 압축된 tarball
- (2)의 url
- (3)과 함께 registry에 게시된 <name>@<version>
- (4)를 가리키는 <name>@<tag>
- <name>은 (5)를 만족하는 최신태그 가짐
- git url (url 마지막에 #commit-ish 추가)
- ex) git://github.com/user/project.git#commit-ish
2. Modules
Node.js에서 require() function으로 로드 할 수 있는 node_modules에 있는 file이나 directory
Scopes
user 계정, organization 을 생성할때 그에 맞는 scope가 부여 됨
- package와 연관된 namespace의 역할을 할 수 있음
- 같은 이름의 package를 만들 수 있음 (scope가 있기 때문에 충돌이 없음)
@npm/package-name
@npmcorp/package-name
Public Packages
누구나 다운로드하여 사용할 수 있는 패키지
- Unscoped
- global public registry namespace 에 존재함
- package-name 으로 참조 됨
- Scoped
- 사용자, organization에 속함
- package.json 파일에 dependency로 포함 될 때 사용자명 or organization 이름이 앞에 있어야
- ex) @username/package-name
Private Packages
선택된 사용자들만 접근할 수 있는 패키지
- 선택된 사용자들에게만 있는 host code로 npm registry를 사용
- 항상 scoped
- User-scoped (유료)
- read 또는 read/write 권한을 받은 collaborator만 접근 가능
- Organization-scoped (유료)
- read 또는 read/write 권한을 받은 team만 접근 가능
- private registry를 배포하여 사용하면 무료로 사용 가능
Creating and Publishing Unscoped Public Packages
- 평소에 프로젝트 하는 것처럼 git을 설정하고 package 요구사항을 확인 후에 명령어로 배포
npm publish
참고자료
https://docs.npmjs.com/packages-and-modules/introduction-to-packages-and-modules
https://docs.npmjs.com/creating-and-publishing-unscoped-public-packages
Comments