1

あなた自身のオープンソースのtypescriptライブラリを書くなら、typescriptとtypescriptの定義をどのように構造化しますか?私が理解しているところでは、ライブラリが消費されるときに消費者を助けるインテリセンスが存在するように、コンパイラの定義ファイルが実際に存在します。新しいライブラリのtypescript定義ファイルを書くには?

しかし、ライブラリを開発するときに定義ファイルは内部的にどのように機能しますか?すべての型(インターフェース、クラスなど)を{module} .d.tsファイルに入れて、定義ファイルを内部的に参照して、タイプを2回書く必要はありません({module}に1回書いてください)。 tsと一度{module} .d.ts?

"declaration"をtrueに設定する点は何ですか?私には、定義ファイルの作成を自動化するのは役に立ちません。 (すなわちコメント)非常に参考になりません。

あなたのライブラリーは、複数のモジュールは、あなたには、いくつかのautomater(すなわちゴクゴク、うなり声)とそれらを連結し、各モジュールに別々の定義を記述し、定義の間の参照を追加した場合は?

私は何ですか?タイプコピーのコンシューマーとJavaScriptコンシューマーの両方があなたのライブラリーを使用できるように、ライブラリーを公開するための推奨される方法は?

どのようにタイスクリプトでテストを記述しますか?あなたのテストファイルにtypescriptモジュールをインポートしますか?

答えて

1

あなたのライブラリをtypescriptで開発するときは、自分のクラスの定義を使用しません。それらは「自己完結型」で、すでにすべてのタイプ情報をtranspiler/IDEに提供します。定義は外部消費者のために述べたとおりです。

declationをtrueに設定するという点は、typescriptクラスから型情報を収集し、定義ファイルに貼り付けるという面倒な作業を取り除くことです。私が言ったように、この情報はすでにタイスクリプトファイルに存在しており、自動的に抽出することができます。

定義を整理して公開する方法について - 複数の異なる方法があることは確かですが、確かに1つのことは確かです。同じクラス定義を手作業で2箇所に書く必要はありません。あなたがライブラリーprojectをどのように公開し、それをanother oneで消費するかのサンプルを私に与えることができると言いました。 index.tsファイルには注意が必要です。また、ルートファイルがpackage.json -> typingsフィールドにどのように公開されているかに注意してください。そこにはジャスミンを使ってライブラリの単体テストの検定もあります。

希望すれば、あなたのライブラリー開発でどのように処理するかについての情報が得られます。

関連する問題