tsc コマンドラインコンパイラ
導入
tsc は TypeScript の公式コマンドライン コンパイラで、コードを検査して JavaScript コードにコンパイルするために使用されます。
tsc はデフォルトで現在のディレクトリにある設定ファイル tsconfig.json を使用しますが、独立したコマンド ライン パラメータを受け入れることもできます。コマンド ライン パラメーターは tsconfig.json をオーバーライドします。たとえば、コマンド ラインでコンパイルするファイルを指定すると、tsc は tsconfig.json の files 属性を無視します。
tscの基本的な使い方は以下の通りです。
# tsconfig.json の設定を使用する
$tsc
# Index.ts のみをコンパイルします
$ tsc インデックス.ts
# src ディレクトリ内のすべての .ts ファイルをコンパイルします
$ tsc src/*.ts
#コンパイル設定ファイルを指定
$ tsc --プロジェクト tsconfig.production.json
# 型宣言ファイルのみを生成し、JS ファイルはコンパイルしません
$ tscindex.js --declaration --emitDeclarationOnly
# 複数の TS ファイルを 1 つの JS ファイルにコンパイルします
$ tsc app.ts util.ts --target esnext --outfileindex.js
コマンドラインパラメータ
tsc のコマンド ライン パラメーターのほとんどは、tsconfig.json の属性と 1 対 1 に対応しています。
以下は、主要なパラメータのアルファベット順の簡単なリストです。詳細な説明については、「tsconfig.json 構成ファイル」の章を参照してください。
--all: 利用可能なすべてのパラメータを出力します。
--allowJs: TS スクリプトが JS モジュールをロードし、コンパイル中に JS をまとめて出力ディレクトリにコピーできるようにします。
--allowUnreachableCode: TS スクリプトに実行不可能なコードが含まれている場合、エラーは報告されません。
--allowUnusedLabels: TS スクリプトに未使用のラベルがある場合、エラーは報告されません。
--alwaysStrict: コンパイルされた製品の先頭に常に use strict を追加します。
--baseUrl: 非相対モジュール配置のベース URL を指定します。
--build: インクリメンタルコンパイルを有効にします。
--checkJs: JS スクリプトの型をチェックします。
--declaration: TS スクリプトのタイプ Makefile を生成します。
--declarationDir: 生成された型宣言ファイルが配置されるディレクトリを指定します。
--declarationMap: .d.ts ファイルの SourceMap ファイルを生成します。
--diagnostics: ビルド後のコンパイルパフォーマンス情報を出力します。
--emitBOM: コンパイルされた出力 UTF-8 ファイルのヘッダーに BOM マークを追加します。
--emitDeclarationOnly: JS ファイルではなく、型宣言ファイルのみをコンパイルして出力します。
--esModuleInterop: import コマンドを使用して CommonJS モジュールをロードするのが簡単になりました。
--exactOptionalPropertyTypes: オプションのプロパティを unknown に設定することは許可されません。
--experimentalDecorators: 初期のデコレータ構文をサポートします。
--explainFiles: コンパイル用のファイル情報を出力します。
--forceConsistentCasingInFileNames: ファイル名は大文字と小文字が区別され、デフォルトで開かれます。
--help: ヘルプ情報を出力します。
--importHelpers: 外部ライブラリ (tslib など) からヘルパー関数をインポートします。
--incremental: インクリメンタルビルドを有効にします。
--init: 現在のディレクトリに新しい tsconfig.json ファイルを作成します。このファイルにはデフォルト設定が含まれます。
--inlineSourceMap: SourceMap 情報は、別個の .js.map ファイルを生成する代わりに、JS ファイルに埋め込まれます。
--inlineSources: TypeScript ソース コードをコンパイルされた JS ファイルに SourceMap として埋め込みます。
--isoratedModules: 各モジュールが独立してコンパイルでき、他の入力モジュールに依存しないことを確認します。
--jsx: JSX ファイルの扱い方を設定します。
--lib: ターゲット環境で必要な組み込みライブラリの型の説明を設定します。
--listEmittedFiles: コンパイル後のコンパイル済みプロダクトのファイル名を出力します。
--listFiles: コンパイルプロセス中に、読み取られたファイル名をリストします。
--listFilesOnly: コンパイルで処理されるファイルをリストし、コンパイルを停止します。
--locale: コンパイル中に出力される言語を指定します。コンパイル結果には影響しません。
--mapRoot: SourceMap ファイルの場所を指定します。
--module: コンパイルによって生成されるモジュール形式を指定します。
--moduleResolution: モジュール名に基づいてモジュールの場所を見つける方法を指定します。
--moduleSuffixes: モジュールファイルのサフィックス名を指定します。
--newLine: コンパイルされた製品の改行文字を指定します。これは、crlf または lf に設定できます。
--noEmit: コンパイル製品を生成せず、型チェックのみを実行します。
--noEmitHelpers: コンパイルされた製品に補助関数を追加しません。
--noEmitOnError: エラーが報告されると、コンパイルは停止し、コンパイル成果物は存在しません。
--noFallthroughCasesInSwitch: Switch 構造の case ブランチには終了ステートメント (break など) が必要です。
--noImplicitAny: 型推論は、型が any である限りエラーを報告します。
--noImplicitReturns: 関数内に明示的な return ステートメント (return など) がない場合、エラーが報告されます。
--noImplicitThis: this キーワードが any タイプの場合、エラーが報告されます。
--noImplicitUseStrict: コンパイルされた JS ファイルのヘッダーに use strict ステートメントを追加しないでください。
--noResolve: モジュールがコマンドラインから渡されない限り、モジュールを見つけません。
--noUnusedLocals: 未使用のローカル変数がある場合はエラーを報告します。
--noUnusedParameters: 未使用の関数パラメータがある場合はエラーを報告します。
--outDir: コンパイルされた製品が保存されるディレクトリを指定します。
--outFile: コンパイルされたすべての製品は、指定されたファイルにパッケージ化されます。
--preserveConstEnums: 生成されたコード内の const enum 構造を定数に置き換えないでください。
--preserveWatchOutput: 監視モードでは画面が鮮明ではありません。
--pretty: コンパイル中にターミナル出力を美しく表示します。これはデフォルトですが、「--pretty false」でオフにできます。
--project (または -p): コンパイル設定ファイル、またはファイルが存在するディレクトリを指定します。
--removeComments: コンパイル結果からコード コメントを削除します。
--resolveJsonModule: JSON ファイルのロードを許可します。
--rootDir: ロードされたファイルが配置されているルート ディレクトリを指定します。このディレクトリ内のディレクトリ構造が出力ディレクトリにコピーされます。
--rootDirs: モジュールの場所を許可すると、複数のディレクトリが 1 つの仮想ディレクトリとして扱われます。
--skipDefaultLibCheck: TypeScript 組み込み型宣言ファイルの型チェックをスキップします。
--skipLibCheck: .d.ts 型宣言ファイルの型チェックをスキップします。これによりコンパイルが高速化されます。
--showConfig: ターミナルはコンパイル設定情報を設定せずに出力します。
--sourcemap: コンパイルされた JS ファイルの SourceMap ファイル (.map ファイル) を生成します。
--sourceRoot: SourceMap ファイル内の TypeScript ソース コードのルート ディレクトリの場所を指定します。
--strict: TypeScript の厳密なチェック モードをオンにします。
--strictBindCallApply: 3 つの関数 binding、call、apply の型は元の関数と一致します。
--strictFunctionTypes: 関数 B のパラメーターが関数 A のパラメーターのサブタイプである場合、関数 B は関数 A を置き換えることはできません。
--strictNullChecks: null と unknown に対して厳密な型チェックを実行します。
--strictPropertyInitialization: クラスのプロパティは初期化する必要がありますが、コンストラクターでの代入は許可されます。
--suppressExcessPropertyErrors: オブジェクト リテラルの冗長パラメータのエラーをオフにします。
--target: コンパイルされた JS コードのバージョンを指定します。TypeScript は、コンパイル中に対応するライブラリ型宣言ファイルも自動的に追加します。
--traceResolution: コンパイル中にモジュール解決の特定の手順 (moduleResolution) をターミナルに出力します。
--typeRoots: タイプ モジュールが配置されているディレクトリを設定し、デフォルトの node_modules/@types を置き換えます。
--types: コンパイルに含める必要がある型モジュールを typeRoots ディレクトリに設定します。
--version: ターミナルは tsc のバージョン番号を出力します。
--watch (または -w): ファイルが変更されている限り、自動的に再コンパイルされます。
作者: wangdoc
アドレス: https://wangdoc.com/
ライセンス: クリエイティブ・コモンズ 3.0