Youngjae

Yarn 의존성(dependencies) 종류

Yarn 의존성(dependencies) 종류

2021.09.09

dev
의존성(dependency)은 우리가 패키지 실행에 필요한 다른 패키지들을 선언해놓는 것이다.
💡
의존성은 package.json 안에 특정 패키지를 사용할 것이라고 선언한다.
dependenciesdevDependencies는 리액트 프로젝트를 할 때 자주 사용하니 대충 알겠는데, 다른 기술 블로그 글을 보다가peerDependenciesoptionalDependencies가 나와서 Yarn 공식문서의 내용을 번역하여 정리해보았다.
 
문서에 따르면 Dependencies는 총 다섯가지가 있다. (사실 위에 두개만 자주 사용하기 때문에 몰라도 상관은 없다)
 
{ "name": "my-project", "dependencies": { "package-a": "^1.0.0" }, "devDependencies": { "package-b": "^1.2.1" }, "peerDependencies": { "package-c": "^2.5.4" }, "optionalDependencies": { "package-d": "^3.1.0" } }
 
  1. dependencies : 일반적으로 사용하는 디펜던시 (예: React 또는 ImmutableJS)
  1. devDependencies : 개발하는 중에 특정 시점에서 필요하지만 코드를 실행하는 동안은 필요하지 않은 종속성(예: Babel 또는 Flow)
  1. peerDependencies : 너만의 고유한 패키지를 publishing하는 경우에만 사용. 피어 종속성이 있다는 것은 패키지를 설치하는 사람과 정확히 동일한 종속성이 패키지에 필요하다는 것을 의미합니다. 이것은 설치하는 사람도 사용하는 하나의 react-dom 사본이 필요한 react와 같은 패키지에 유용합니다.
  1. optionalDependencies : 선택적 종속성은 바로 optional 입니다. 설치에 실패하면 Yarn은 여전히 설치 프로세스가 성공했다고 말합니다. 이것은 모든 시스템에서 반드시 작동하지 않는 종속성에 유용하며 설치되지 않은 경우에 대비한 대체 계획이 있습니다(예: Watchman).
  1. bundleDependencies : 패키지를 게시할 때 번들로 제공될 패키지 이름의 배열입니다. 번들 종속성은 프로젝트 내부에 있어야 합니다. 기능은 기본적으로 일반 종속성과 동일합니다. 그들은 또한 실행할 때 포장됩니다 yarn pack. 일반 종속성은 일반적으로 npm 레지스트리에서 설치됩니다. 번들 종속성은 일반 종속성이 충분하지 않은 경우에 유용합니다.
      • npm 레지스트리에서 가져오지 않았거나 수정된 타사 라이브러리를 재사용하려는 경우.
      • 자신의 프로젝트를 모듈로 재사용하려는 경우.
      • 모듈과 함께 일부 파일을 배포하려는 경우.
 
Reference
공유하기

Youngjae Jang

Copyright © 2022, All right reserved.