TypeScript를 사용하는 프로젝트에 npm에서 shiitake이라는 리 액트 구성 요소를 사용하고 있습니다. 그 라이브러리에는 TypeScript 선언이 없으므로이 라이브러리에는 하나를 쓸 것이라고 생각했습니다.유형이 지정되지 않은 npm 모듈 용 TypeScript 사용자 정의 선언 파일
import * as React from 'react';
declare module 'shiitake' {
export interface ShiitakeProps {
lines: number;
}
export default class Shiitake extends React.Component<ShiitakeProps, any> {
}
}
난 아래의 오류를보고하고 ./typings/shiitake.d.ts
파일 내부 및 VS 코드에 넣어 가지고 : 선언 파일은 (는 완전하지 않을 수 있지만 그것에 대해 너무 많이 걱정하지 마십시오) 다음과 같은
/// <reference path="../../../../typings/shiitake.d.ts" />
import * as React from 'react';
import Shiitake from 'shiitake';
: 소비 측면에서
[ts] Invalid module name in augmentation. Module 'shiitake' resolves to an untyped module at 'd:/dev/foo/foobar.foo.Client.Web/node_modules/shiitake/dist/index.js', which cannot be augmented.
, 나는 여전히 같은 오류도 위의 선언하면 (내가 가진 이후 noImplicitAny
컴파일러 스위치가 켜져) 무엇입니까
이 모듈 유형의 선언 파일을 얻는 표준은 @types/
way이며, 잘 작동합니다. 그러나 사용자 지정 입력 작업을 수행 할 수 없습니다. 이견있는 사람?
와우, 감사합니다. 시간을 절약 할 수 있습니다 – smac89
이것은 많은 도움이되었습니다. 감사합니다. 내게있어, 문제는'import' 문이 내부가 아닌 모듈 외부에 있었다는 것이 었습니다. – dbellizzi
나는 이것을 열 번처럼 upvote 할 수 있으면 좋겠다. 어제 나는 이것에 몇 시간을 보냈다. TypeScript 문서가 더 좋았 으면 좋겠다. –