1

오픈 소스 타이프 스크립트 라이브러리를 직접 작성한다면 typescript와 typescript 정의를 어떻게 구성 할 수 있습니까? 당신이 라이브러리가 소비 될 때 소비자를 돕는 인텔리 센스가 있도록 컴파일러를위한 정의 파일이 실제로 있다는 것을 이해합니다.새 라이브러리의 타이프 스크립트 정의 파일 작성 방법은 무엇입니까?

그러나 라이브러리를 개발할 때 정의 파일이 어떻게 내부적으로 작동합니까? 모든 유형 (인터페이스, 클래스 등)을 {module} .d.ts 파일에 저장하고 정의 파일을 내부적으로 참조하여 유형을 두 번 ({module}에 한 번) 쓸 필요가 없습니까? ts 및 {module} .d.ts에 한 번 입력하십시오.

typescript 컴파일러 옵션에서 "선언"을 true로 설정하는 지점은 무엇입니까? 나에게 정의 파일 작성을 자동화하는 것이 도움이되지 않는 것 같습니다. (예 : 댓글) 매우 도움이되지 않습니다.

하면 라이브러리는 여러 개의 모듈은 각 모듈에 대한 별도의 정의를 작성하고 일부 automater으로 (즉, 꿀꺽 꿀꺽, 꿀꿀 거리는 소리)을 연결하여 다음 정의 사이에 참조를 추가 할 경우?

무엇을 typescript 소비자와 javascript 소비자가 모두 라이브러리를 사용할 수 있도록 라이브러리를 노출하는 것이 좋습니다.

타이프 스크립트로 테스트를 작성 하시겠습니까? 테스트 파일에 타이프 스크립트 모듈을 가져 오시겠습니까?

답변

1

typescript로 라이브러리를 개발할 때 자신의 클래스 정의를 사용하지 마십시오. 이들은 '자체 포함'되어 있으며 이미 모든 유형 정보를 transpiler/IDE에 제공합니다. 정의는 외부 사용자를 위해 언급 한 내용입니다.

declation을 true로 설정하면 typescript 클래스에서 형식 정보를 수집하고 정의 파일에 붙여 넣는 지루한 작업을 없앨 수 있습니다. 내가 말했듯이이 정보는 이미 타이프 스크립트 파일에 존재하며 transpiler로 자동 추출 할 수 있습니다.

정의를 구성하고 노출하는 방법에 관해서 - 여러 가지 방법이 있습니다. 한 가지 확실한 점은 동일한 클래스 정의를 수동으로 두 곳에서 작성하고 싶지는 않습니다. 도서관 project을 어떻게 노출하는지 샘플을 제공하고 another one에서 섭취 할 수 있다고 말했 읍니다. index.ts 파일에주의하고 루트 파일이 package.json -> typings 필드에 어떻게 노출되어 있는지 확인하십시오. 또한 jasmine을 통해 라이브러리에 대한 단위 테스트의 예제를 찾을 수 있습니다.

희망이 있으면 라이브러리 개발 과정에 대한 정보를 얻을 수 있습니다.