TypeScript初心者質問です。私たちのプロジェクトでは、* .d.tsファイルを追加する必要のある外部JavaScriptライブラリを使用しています。私はこのユースケースとこれを行う必要があった理由を理解しています。TypeScriptインターフェイスを* .d.tsファイルに定義する必要があります
私たちが定義している私たち自身のインターフェースについては、私の開発者の一人は、* .d.tsファイルでそれらを定義することを提案しました。そのため、必要なモジュールにインポートすることなくインターフェイスタイプにアクセスできるようになりました。これを使って。
例えば、我々は多くの分野でそれを再利用することができるように、「エラー最初のコールバック」機能のためのインタフェースを作成したいです。私たちは、このようなエラー最初のコールバック用のインターフェイスを定義することができ
export function helloWorldEventually(callback: (err: Error, result: any) => void) {
callback(null, 'Hello World');
}
ので、代わりにこの
... ...
export interface ErrorFirstCallback {
(err: Error, result: any): void;
}
そして、このようにそれを使用して...
export function helloWorldEventually(callback: ErrorFirstCallback) {
callback(null, 'Hello World');
}
最初は、ErrorFirstCallback.tsでErrorFirstCallbackインターフェイスを定義し、参照するためにインポートしました それ。
別の開発者たちは* .d.tsファイルに入れ、その後、我々はそれを参照するために、それをインポートする必要はありません示唆しました。
我々が定義されているインタフェースは、* .TSファイルVS * .d.tsファイルで定義する必要があります。
ありがとうございます!
。 '* .d.ts'-filesは主に' * .js'ファイル/ libに型を付けるために使われます。私はこのような定義ファイルを使用することに同意するかどうか分からないし、これをメインのtsファイルで参照される 'interfaces.ts'に入れておきます。または、冗長/安全にしておき、それを必要とするすべてのファイルでinterface-fileを参照してください。 – Thomas
この記事を見てください:http://ivanz.com/2016/06/07/how-does-typescript-discover-type-declarations-definitions-javascript/ –