web-dev-qa-db-ja.com

tsconfig.jsonの目的は何ですか?

Angular2の参照を読んでいて、これを見つけたtsconfig.json。次のパラメーターの意味を知りたいですか?

{
    "compilerOptions": {
    "target": "es5",
    "module": "system",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false
    },
    "exclude": [
    "node_modules"
    ]
}
24
Bhushan Gadekar

_tsconfig.json_ファイルは、TypeScriptコンパイラ(tsc)の構成に対応しています。

これらのリンクから、これらの属性に関する詳細を確認できます。

ヒントを次に示します。

  • target:コンパイルされた出力に使用される言語
  • module:コンパイルされた出力で使用されるモジュールマネージャー。 systemはSystemJS用、commonjsはCommonJS用です。
  • moduleResolution:モジュール宣言ファイル(_.d.ts_ファイル)の解決に使用される戦略。 nodeアプローチでは、モジュールのように_node_modules_フォルダーからロードされます(require('module-name')
  • sourceMap:ブラウザでアプリケーションのTypeScriptファイルを直接デバッグするためにソースマップファイルを生成するかしないか、
  • emitDecoratorMetadata:ソース内の装飾された宣言のデザインタイプのメタデータを発行するかしないか、
  • experimentalDecorators:ES7デコレータの実験的サポートを有効にするかどうか、
  • removeComments:コメントを削除するかどうか
  • noImplicitAny:型なしの変数/パラメーターの使用を許可するかどうか(暗黙)
26

tsconfig.jsonは、それが保持されているディレクトリがTypeScriptプロジェクトのルートであることを示します。 tsconfig.json fileは、プロジェクトのコンパイルに必要なルートファイルとコンパイラオプションを指定します。

コンパイラは、記載されている構成に従って実行することが期待されています。

"target": "es5" => es6をes5にコンパイルして、互換性のあるブラウザにします。

"module": "system" =>モジュールコードの世代を指定します(commonjs '、' AMD '、' system '、' umd '、' es6 'など)

"moduleResolution": "node" =>モジュールの解決方法を決定する

"sourceMap":true =>対応する ‘.map’ファイルを生成して、デバッグのために実動コードで使用できるようにします。

"removeComments":false =>/*で始まるcopy-rightヘッダーコメントを除くすべてのコメントを削除します。

"noImplicitAny":false =>暗黙の「any」タイプの式と宣言でエラーを発生させます。

「exclude」プロパティが指定されている場合、コンパイラは、除外されているファイルまたはフォルダーを除き、すべてのTypeScript(* .tsまたは* .tsx)ファイルを含むディレクトリーおよびサブディレクトリーに含めます。

5
Soumya

すでに多くの答えがありますが、tsconfigが必要な理由としてもう1つポイントを追加したいと思います。 angular docs

TypeScriptは、Angularアプリケーション開発の主要言語です。これは、タイプセーフとツールの設計時サポートを備えたJavaScriptのスーパーセットです。

ブラウザはTypeScriptを直接実行できません。 TypeScriptは、tscコンパイラーを使用してJavaScriptに「変換」する必要があります。これには、構成が必要です。

通常、tsconfig.jsonというTypeScript構成ファイルをプロジェクトに追加して、JavaScriptファイルを生成するコンパイラーをガイドします。

詳細情報 https://angular.io/guide/TypeScript-configuration

2
Hameed Syed

tsconfigファイルは、プロジェクトをTypeScriptプロジェクトとして示し、TypeScriptファイルのコンパイル方法に関するオプションが含まれています。詳細については、サイトを確認してください https://www.typescriptlang.org/docs/handbook/tsconfig-json.html

1
AishApp