web-dev-qa-db-ja.com

フローを使用するときにnode_modulesを無視する

Reactネイティブアプリケーションでflowを使用しています。フローの最初の起動は、node_modulesディレクトリを通過するため、非常に遅くなります。これらのサードパーティライブラリから発生するエラーを修正することはできません。

node_modules内のエラーを無視するようにフローに指示できますか?私の設定ファイルにこれがあります:

[ignore]
.*/node_modules/.*

ただし、フローはreact-native Required module not foundをスローするようになりました。奇妙なことに、Reactをインポートするときにこのエラーは検出されません。

17
Dan

プロジェクトのルートにflow-typedというフォルダーを作成し、そこにモジュールの宣言ファイルを作成できます。したがって、この場合、ファイルを作成します。

flow-typed/react-native.js

// @flow

declare module 'react-native' {
    /* declarations go here... */
}

Reactが含まれていても文句を言わない理由は、フローにはすぐに使える宣言が含まれているからです( https://github.com/facebook/flow/blob/master/ lib/react.js )javascriptおよびブラウザー標準ライブラリーの宣言と同じ方法。

ただし、これらの宣言ファイルを作成することは決して簡単ではありません。インスピレーションについては、Flowに付属している宣言と https://github.com/flowtype/flow-typed リポジトリにある宣言をご覧ください。

5
AHM