@ types / *가`dependencies` 또는`devDependencies`로 들어가는지를 어떻게 결정합니까?
내 프로젝트에서 TypeScript 2를 사용합니다. js 라이브러리를 사용하고 싶지만 해당 라이브러리에 대한 입력을하고 싶습니다. 간단한 유형을 설치할 수 있습니다 npm install @types/some-library
. 나는할지 확실하지 않다 --save
또는 --save-dev
그들. DefinetelyTyped GitHub 추가 정보조차도 두 버전을 언급하지만 설명하지는 않습니다. devDependencies
개발에 유형이 필요하고 런타임에 사용되지 않기 때문에 @types가 있어야한다고 생각 하지만 @types는 여러 번 보았습니다 dependencies
. 혼란 스러워요.
어떻게 유형 @ / *이로 전환 여부를 결정해야한다 dependencies
나 devDependencies
? 실제로 공식적인 지침이 있습니까?
devDependencies에 @ types / some-module 패키지가있는 패키지 "A"를 개발한다고 가정 해 봅시다. 어떤 이유로 @ types / some-module에서 유형을 내보내는 경우
import {SomeType} from 'some-module';
export default class APackageClass {
constructor(private config: SomeType) {
}
}
패키지 "A"의 devDependencies가 설치되어 있지 않기 때문에 현재 패키지 "A"의 Typescript 소비자는 SomeType이 무엇인지 추측 할 수 없습니다.
이 경우 @ types / * 패키지를 규칙적인 "종속성"과 함께 배치해야합니다. 다른 경우에는 "devDependencies"가 충분합니다.
번들을 생성하고 있습니까? 그렇다면 어디로 가는지 토론하는 데 너무 많은 시간을 소비하지 않는 것이 좋습니다. devDependencies
그리고 dependencies
당신은 다른 사람이 사용할 수있는 패키지를 게시하는 경우에만 의미이고, 당신이 쓸모없는 종속성을 스팸 싶지 않아요.
에 배치하십시오 devDependencies
. 당신이 말했듯이 "개발에는 타입이 필요하고 런타임에는 사용되지 않습니다" .
Node.js 애플리케이션을 프로덕션에 배치하는 특별한 경우에는 애플리케이션을 실행하는 데 필요한 종속성 만 설치하려고합니다. ( npm install --production
또는 npm ci --production
또는로 yarn production
.)이 경우 devDependencies
설치가 부풀어 오르지 않도록 유형이에 있어야 합니다.
비고 : 나는 이것이 브래드 윌슨이 다른 답변에 대한 의견에서 언급 한 것을 알고 있습니다. 그러나이 점은 답이 될만한 가치가있는 것 같습니다.
'IT박스' 카테고리의 다른 글
Xcode 빌드 설정에서 "아키텍처"와 "유효한 아키텍처"의 차이점은 무엇입니까? (0) | 2020.08.02 |
---|---|
약속의 가치에 접근하는 방법? (0) | 2020.08.02 |
자바 주석 (0) | 2020.08.02 |
자산 파일에서 URI를 얻는 방법? (0) | 2020.07.30 |
Java JDK가 Mac에 설치되어 있는지 어떻게 확인합니까? (0) | 2020.07.30 |