2016-03-18 1 views
8

typescriptベースの別のライブラリで使用されるtypescriptコンポーネントのライブラリを構築しようとしています。私たちは現在、ts-loaderをTSファイルを使用するローダーとしてバンドルするためにwebpackを使用しています。Typescriptを使用したWebpackバンドルライブラリの作成

以下のサンプルライブラリの.d.tsファイルを生成する方法がわかりません。 Typescriptは.d.tsファイル(declarationがtrueに設定されています)をビルドしますが、消費者が使用できる1つの.d.tsファイルが必要なモジュールごとに1つのファイルです。

https://github.com/raybooysen/typescript-webpack-example

だから私の質問は、これを実現する方法の標準的な例はありますか? typescriptコンシューマがこれらの.d.tsファイルを正しくインポートできる方法はありますか?現時点では、ネット上にはほとんどドキュメンテーションや例がないようですが、何か助けていただければ幸いです。

+0

あなたはイサキやがぶ飲みを使用し、 'TSC --declaration'コマンドまたはポストビルドコマンドを使用してに見たことがVSを使って? – Igor

+0

宣言がtrueに設定されているtsconfig.jsonファイルを使用してtsコンパイラを実行するts-loaderを使用します。ただし、1つのd.tsファイルPERモジュールが生成されます。これがOKであれば、それはそうではないと感じますが、これはタイプスクリプトに基づく消費プロジェクトによってどのように消費されますか? –

+0

@RayBooysenどうやってそれを最後に解決しましたか?あなたの最終的な解決策を知ることは助けになるでしょう。 –

答えて

1

私の質問は、これを達成するための標準的な例がありますか?これら.d.tsをインポートすることができますtypescriptです消費者は、モジュールの消費者としてバンドルを使用したくない、一般的に正しく

あなたのファイルという方法があります。それは最終的なウェブサイトの成果物として図書館を使用する人の仕事です。つまり、ノードモジュールのデプロイされた成果物の中には、foo.ts/foo.jsしか置かれていません。これらは、TypeScriptコンパイラの場合と同じように使用できます。

もっと

https://basarat.gitbooks.io/typescript/content/docs/quick/nodejs.html

+0

"あなたは一般的にバンドルをモジュール消費者として使用したくない"という意味がわからない場合 私は何を使用しますか?私は、ライブラリの依存性を持っている可能性があるため、モジュールからの生のソースをコンシューマとして使用することは正当化できません。たとえば、ライブラリでLESS/SASSファイルを使用する場合があります。コンパイルする必要はありません。 –

+0

これらの* css *スタイルファイルはすべて最終的なコンシューマプロジェクトの一部になるはずで、バンドルの方法を選択することになります(単一ファイルや分割など) – basarat

+0

これは私が意味することではありません。私が図書館ビルダーであれば、SASSのような処理が必要な多くのテクノロジーを使用することがあります。これは図書館の消費者が責任を負うべきではありません。なぜなら、彼らはこの処理を所有する負担を負いたくないからです。つまり、図書館の開発者は、TSやSASSではなく、普通のJSやCSSを出力する必要があります。 –

関連する問題