TypeScript のコンパイル時の出力先についてです。
Windows 環境で nodejs と npm install を使用して tsc コマンドを導入しました。
C:\Users\<User>\AppData\Roaming\npm\tsc.cmd
を使用して以下の様な *.ts をコンパイルします。
<project-root>\ts\somedir\test.ts
typescript
1var test:string = "test";
コンパイル先は --outDir
オプションで、例えば <project-root>\js\somedir
とします。
すると期待通り次のファイルが生成されます。
- <project-root>\js\somedir\test.js
- <project-root>\js\somedir\test.js.map
問題は test.ts を以下のように書き換えた場合です。
<project-root>\ts\somedir\test.ts
typescript
1/// <reference path="../Common.ts" /> 2var test:string = "test";
(--outDir は変更なし)
こうすると、以下のファイルが生成されます。
- <project-root>\js\somedir\Common.js
- <project-root>\js\somedir\Common.js.map
- <project-root>\js\somedir\somedir\test.js
- <project-root>\js\somedir\somedir\test.js.map
参照関係の中で最も階層が浅いファイルの場所が outDir に対応する出力結果となっているように見えます。
狙いとしては Common.js はここでコンパイルしてほしいわけではなく、型の解決のために指定したいだけです。(この時点で間違いなのでしょうか)
コンパイルされても別にいいのですが、 *.ts ファイルの中身によらず一定のディレクトリにコンパイル結果を出力する方法があればお教え願います。
利用はブラウザ向けの js で、途中まで JavaScript で開発していたものを段階的に TypeScript に移行しています。
JavaScript だった頃の資産として、ディレクトリ配下の *.js ファイルを自動的に読み込む仕組み (サーバーサイドで行っています) を用意しているため、
TS 側の仕組みを使用した外部ファイル参照はまだ使用しません。(移行が終わるまで)
なおコンパイルは PhpStorm のファイルウォッチャー機能を使用して、自動的にコマンドと引数を組み立てています。
そのためファイルの中身によって出力先が変わってしまい困っています。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。