가끔보면 package 앞에 @가 붙는 경우가 있는데 평소엔 그냥 무심코 지나갔던 부분이라 별로 신경을 안썼지만 오늘 모듈 설치하다가 문뜩 궁금해서 찾아봤다. ( ex. @meterial-ui/core )
몇몇의 package는 scope를 가지는데 scope를 가지고 있는 패키지는 이름을 정하는 룰이 있다.
바로 @ symbol과 / 를 사용하는 것!
이것을 scoped packages 라고 부르며 npm에 새로 추가된 기능
npm 패키지에 네임스페이스를 적용하여 아래와 같은 규칙을 정한다.
- global modules : 현재 존재하는 컨벤션 네임을 따른 모듈. (일반적인 패키지 작명 컨벤션을 따른다는 뜻인듯)
- scoped modules : 조직이나 그룹에 “scoped” 된 새로운 모듈. @조직이름/패키지이름 으로 설치
같은 네임스페이스에서 쉽게 패키지들을 찾기위함과 패키지명 중첩을 피하기 위해 이러한 규칙을 정했다고 한다.
참고
https://docs.npmjs.com/about-organization-scopes-and-packages
https://ddd05.github.io/npm/2021/02/09/scoped-packages/
@접두사가 붙은 패키지는 범위를 가지며 특정 조직에 소속된 패키지다.
'TIL' 카테고리의 다른 글
REST API + RESTful API (0) | 2023.05.02 |
---|---|
'module' is not defined. eslint (0) | 2023.05.01 |
[TIL] git remote update (0) | 2021.10.24 |
[TIL] JWT (JSON WEB TOKEN) (0) | 2021.10.14 |
[TIL] cookie와 session (0) | 2021.10.04 |