web-dev-qa-db-ja.com

TypeScriptインターフェイスを別のファイルで宣言およびインポートする方法

TypeScriptベースのプロジェクトで独自のファイルにいくつかのインターフェイスを定義し、そこからテスト用のモックだけでなく本番用のクラスを実装します。ただし、正しい構文が何なのかわかりません。インターフェイスを宣言して実装するためのチュートリアルをたくさん見つけましたが、それらはすべて同じファイル内のインターフェイスと派生クラスの両方の簡単な実装を持っていますが、これはあまり現実的ではありません。インターフェイスをエクスポートおよびインポートする正しい方法は何ですか?

46
snort

定義されているファイルからインターフェイスをエクスポートし、使用する場所にインポートする必要があります。

IfcSampleInterface.ts

export interface IfcSampleInterface {
   key: string;
   value: string;
}

SampleInterface.ts

import { IfcSampleInterface } from './IfcSampleInterface';
let sampleVar: IfcSampleInterface;
62
Ajay

定義(d.ts)ファイルと名前空間を使用します。この方法でモジュールをインポート/エクスポートする必要はありません。 DefinitelyTypedプロジェクトには guidance と膨大な数の examples があります。

32
Artem Koshelev

定義されているファイルのインターフェースをエクスポートし、使用されているファイルにインポートする必要があります。例については、このリンクを参照してください。

x.ts

interface X{
    ...
}
export default X

y.ts

import X from "./x.ts"
// You can use X now

詳細については、 https://www.typescriptlang.org/docs/handbook/modules.html を参照してください

2
user6101582