1. ホーム
  2. javascript

[解決済み] Typescript コンパイラで、コンパイルした js を別のディレクトリに出力するにはどうしたらいいですか?

2022-04-28 15:19:05

質問

私はTypeScriptの初心者ですが、現在、私のプロジェクト構造の中のいくつかの場所に.tsファイルを持っています。

app/
 |-scripts/
    |-app.ts
    |
    |-classes/
    |  |-classA.ts
    |  |-classB.ts
    |  
    |-controllers/
    |  |-controllerA.ts
    |  |-controllerB.ts
    |  
    |-otherStuff/
       |-otherstuffA.ts

今現在、私のファイルがコンパイルされるとき、.ts flesがあるのと同じディレクトリにコンパイルされます。

app/
 |-scripts/
    |-app.ts
    |-app.js
    |
    |-classes/
    |  |-classA.ts
    |  |-classB.ts
    |  |-classA.js
    |  |-classB.js
    |  
    |-controllers/
    |  |-controllerA.ts
    |  |-controllerB.ts
    |  |-controllerA.js
    |  |-controllerB.js
    |  
    |-otherStuff/
       |-otherstuffA.ts
       |-otherStuffA.js

.jsファイルが.tsファイルと同じディレクトリ構造を維持する方法は好きですが、VCSで.jsファイルを追跡したくないので、次のように、すべてのJavaScriptファイルを別のディレクトリツリーに保持したいと思います(その後.gitignoreに追加することが可能です)。

app/
 |-scripts/
 |  |-app.ts
 |  |
 |  |-classes/
 |  |  |-classA.ts
 |  |  |-classB.ts
 |  |  
 |  |-controllers/
 |  |  |-controllerA.ts
 |  |  |-controllerB.ts
 |  |  
 |  |-otherStuff/
 |     |-otherstuffA.ts
 |
 |-js/
    |-app.js
    |
    |-classes/
    |  |-classA.js
    |  |-classB.js
    |
    |-controllers/
    |  |-controllerA.js
    |  |-controllerB.js
    |
    |-otherStuff/
       |-otherstuffA.js

TypeScriptコンパイラにこれを指示するような設定やオプションはどこかにあるのでしょうか?また、関係あるかどうかわかりませんが、私はWebStormを使っています。

どのように解決するのですか?

Typescript 1.5 以降では、この設定は tsconfig.json ファイルに記述します。

"compilerOptions": {
    "outDir": "DIRECTORY"
    ...

オリジナル回答

オプションを使用する --outDir をtscで実行する(IntelliJのFile Watcherで設定する)。

コマンドライン・ドキュメントより

--outDir DIRECTORY Redirect output structure to the directory.