2016-11-20 4 views
0

私が開発しているアプリケーションのためにネイティブJSからTSに切り替えることを考えています。私は物事をテストするための新しいブランチを作成しました。Typescript自体は問題ないと思われますが、私が直面している大きな問題があります:私が使用しているベンダーの中には、古くなった定義ファイルがありません。TypeScriptに入力しない仕入先を処理するにはどうすればよいですか?

問題は次のとおりです。欠落している定義ファイルを処理する方法は?

私は

declare var sails: any; 

ような何かを行うことができますが、これは本当に良いアイデアですか?

答えて

1
declare var sails: any; 

ハックです。自分自身を動かしたり、ライブラリが実際に動作するかどうかを試してみるのは良いことですが、最善の策は明白です。 (プロジェクトに: anyがある場合は、何かを修正する必要がある赤い旗が必要ですが、現実的にはほとんどすべての人にanyまたは2つ(またはそれ以上)の浮動小数点があります)。それは言った:帆と同じくらい大きいものはではないanyでなければならない。

あなたは何をすればよいですか? DefinitelyTyped

ルックあなたは活字体2を使用している場合は、

npm i -g @types/thing-you-want 

を経由して、間違いなくNPMで入力されたから、定義の最もをインストールすることができます(残念ながら、それは見ていませんセイルズのようなものは確実にタイプされている)

他の誰かが定義ファイルを書いているかどうかを調べることもできます。ではなく、が正しく入力されていますが、それでも機能します。

でも、間違いなくタイプされていても、正しいことが保証されておらず、マッサージが必要な場合があります。あなたがそれらを

これは、あなたがアップに対して何であるかかもしれ必要と

は、あなたの定義を書きます。これは確かに徹底したものではありませんが、通常はどこに行かなければならないのでしょうか。必要なAPIの部分のドキュメントを探し、その定義を.d.tsファイルに追加してください。

このようにすれば、それほど圧倒されることはなく、そうしてしまえば、完了したらDefintielyTypedに仕事を寄付することができます:)。

+0

ご返信ありがとうございます。たとえば、帆は現在のバージョンのタイピングを持っていません(少なくとも私は何も見つけられませんでした)。私が定義を持たない1つまたは2つの他の図書館やフレームワークに直面した場合、私は定義を書くのに深刻な時間を費やしてしまいました...深刻な時間の損失であるため、かなり大きな不利な点があります:/ – nehalist

+0

@ nehalist私は、TSのサポートが欠けている大きな理由は、CLIのためだと思う。 typescriptが起こるとき、それは恐らくコミュニティよりむしろフレームワークを維持している人から来るでしょう。その間、[flow](https://flowtype.org/)をチェックしてみてください。これは、このような状況でもう少し寛容です。 – drewwyatt

+0

最終的な考え1つ:Typescriptの将来の評価を妨げないようにすることをお勧めします。私は、あなたのプロジェクトのサイズに応じて(そしてあなたがセイルを使用しているので)Typescriptを今は動作させるのが難しいかもしれないことに同意します - Typescriptから始まる変換は、一般的に変換よりもずっと簡単です(特にあなたのライブラリがサポートされている場合)。 – drewwyatt

関連する問題