メインコンテンツにスキップ

モジュールの種類

型のインポートとエクスポート

モジュール(ファイル)間で型を共有することはよくある。Flowでは、型エイリアス、インターフェイス、クラスを1つのファイルからエクスポートして、別のファイルにインポートできます。

exports.js

1export default class MyClass {};2export type MyObject = { /* ... */ };3export interface MyInterface { /* ... */ };

imports.js

import type MyClass, {MyObject, MyInterface} from './exports';

ファイルの最上部に@flowを追加することを忘れないでください。そうしないとFlowはエラーを報告しません.

値を型としてインポートしてエクスポートする

Flowは、typeofを使用して他のモジュールによってエクスポートされた値の型をインポートすることもサポートします。

exports.js

1const myNumber = 42;2export default myNumber;3export class MyClass { /* ... */ };

imports.js

import typeof MyNumber from './exports';
import typeof {MyClass} from './exports';

const x: MyNumber = 1; // Works: like using `number`

他の型のインポートと同様に、このコードはコンパイラによって削除できるため、他のモジュールに対するランタイムの依存関係を追加しません。