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/에서 유형을 검색할 수 있다.
- 여기와 여기를 읽어라.다음 두 가지 사항에 특히 주의하십시오.
- 만약
typeRoots
tsconfig.json에 지정되면 지정된 폴더만 유형 루트에 사용된다.지정하지 않으면 ./npm_modules/@type/은 제외된다. - 만약
types
tsconfig.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 |