私は一連のTypescriptプロジェクトを持っています(それぞれ実際のコンパイル可能なターゲット、独自のtsconfig.jsonを持っています)。彼らはこのように、一つのコードリポジトリ内のディレクトリを同胞されていますTypescriptプロジェクト間の依存関係(1つのレポ内)
myrepo
--/common
--/project1
--/project2
project1
とproject2
の間でコードを共有するために、私はcommon
に出て、いくつかの共有コードを壊れました。 project1
とproject2
コードはcommon
からクラスをインポートできますが、お互いからはインポートできません(common
は他の2つのクラスのいずれからもクラスをインポートできません)。
理想的には、project1
内のコードは次のようになります。
"baseUrl":".",
"paths":{
"*":["*","../*"]
}
:私は、インポートが
project1
のtsconfig.jsonにこれを置くことによって、正常に動作できるようにする方法を発見した
import {CommonClass} from 'common/commonclass';
しかし、私はまだ他のサブプロジェクトのどれがimport
の主題になるかを制限する方法を見つけていません。私はrootDirs
を使って試しましたが、許容されるソースファイルを同じ方法で制限することを望んでいましたが、rootDir
はそうですが、実際にはそうではありません。
各プロジェクトでどのようなコードをインポートすることができますか?あるいは、私が気付いていないTypescriptでサブプロジェクトを構築するための良い方法がありますか?
プロジェクトはどのように編集されていますか?これは毎日の問題です。私は自分のアプローチを共有することができます。 –
'tsickle'(' tsc'のラップされたドロップイン置換)だけで、実際にはメイクファイルを介してコマンドラインに表示されます。 –
つまり、タイスクリプトの出力は何ですか?単一のファイルにコンパイルされるか、または各ファイルがコンパイルされますか? –