TypeScript 2와 함께 @type을 사용하는 방법
지금까지 우리는 tsd 또는 (더 나은 버전의) 타이핑에 익숙하다.
하지만 지금 TypeScript 2는 새로운 것을 제공한다.@types기능, 현재 프로젝트를 @type과 함께 작업하도록 어떻게 변환해야 하는가?
모든 종속성을 가진 tsd.json(일반.json은 일부 사례)이 있는데, TypeScript 2로 이동하기 위한 단계는 무엇인가?
새로운 모범 사례는 무엇인가?@유형은 특정 버전을 지원하는가?
아주 간단하다.npm을 통해 필요한 정의를 설치하십시오.
예를 들어, 숙소가 필요한 경우 다음을 수행할 수 있다.
npm install --save @types/lodash
일단 설치되면 프로젝트에서 바로 사용할 수 있다.Typecript는 기본적으로 node_modules/@types 폴더에서 설치된 @type 패키지에 대한 타이핑을 해결한다.더 이상 tsd.json이나 타이핑.json 파일은 필요 없다.
추가 포인트:
- npm에 있는 @type 패키지의 주 버전과 부 버전은 패키지 버전과 일치해야 한다.
- http://microsoft.github.io/TypeSearch/에서 유형을 검색할 수 있다.
- 여기와 여기를 읽어라.다음 두 가지 사항에 특히 주의하십시오.
- 만약
typeRootstsconfig.json에 지정되면 지정된 폴더만 유형 루트에 사용된다.지정하지 않으면 ./npm_modules/@type/은 제외된다. - 만약
typestsconfig.json에 지정되면 지정된 패키지만 포함된다.
- 만약
자세한 내용은 블로그 게시물을 참조하십시오.
Typecript 2.0은 이전의 Typeings 시스템을 없앤다.
이제 Typecript 2.0은 기본적으로./node_modules/@types별도의 노드 모듈로 설치한 유형(예:npm install --save @types/react(@David Sherret에서 언급한 바와 같이)
현재 버전 Typecript 2.0 베타에는 버그가 있으며, 이 버그는 새로운 유형을 로드하지 않는다.cmd new tsc를 통해 수동으로 파일을 컴파일하지만 VS 2015에서는 IntelliSense 지원이 없으며 .ts 파일이 편집 모드에 있는 동안에는 오류가 표시되지 않는다.
수정하려면 다음과 같이 하십시오.tsconfig.json유사한 설정:
{
"compilerOptions": {
// ... other config rows
"typeRoots": [ "node_modules/@types/" ],
"types": [ "jquery", "react", "react-dom", /*... your other types */ ],
}
}
나를 위한 매뉴얼"types"선언이 이 문제를 해결하는데 도움이 되었다, 다른 남자들에게."typeRoots"도왔다.개발자의 시간을 절약할 수 있기를 바란다.
모두 npm 패키지로 보이는데, 여기서 지원되는 패키지는 모두 찾을 수 있어.
tsc는 node_node 폴더에서 어떤 유형이든 선택한다.
패키지의 타이핑.json에 있는 종속성을 이동할 수 있다.json (물론 이름을 너무 많이 바꾸기도 한다.)
너는 여기서 그것에 대해 더 많이 읽을 수 있다.
현재 프로젝트를 @type과 함께 작업하도록 변환하는 방법
나는 확실히 조금 더 버틸 것을 권한다.
예: 아직 문제가 해결 중... 불과 4시간 전 : https://github.com/Microsoft/TypeScript/issues/9725#issuecomment-233469422
참조URL: https://stackoverflow.com/questions/38444279/how-should-i-use-types-with-typescript-2
'programing' 카테고리의 다른 글
| 반응 useState는 여기서 기본값을 허용하지 않는 것 같으십니까? (0) | 2022.03.25 |
|---|---|
| "이러한 로더의 결과를 처리하기 위해서는 추가 로더가 필요할 수도 있다." (0) | 2022.03.25 |
| Vuetify v-btn 및 Vue 라우터를 사용하여 새 창에서 링크 열기 (0) | 2022.03.25 |
| 의미-UI 사이드바.푸셔로 인해 반응 라우터가 해당 구성 요소를 리렌더하도록 함 (0) | 2022.03.25 |
| Python 3 ImportError: 'ConfigParser'라는 이름의 모듈 없음 (0) | 2022.03.25 |