パフォーマンスの向上: ASP.NET、Visual Studio、TypeScript で MSBuild TypeScript コンパイルを無効にする
ASP.NET、Visual Studio、TypeScript における MSBuild TypeScript コンパイルの無効化
ASP.NET、Visual Studio、TypeScript を使用する場合、MSBuild はデフォルトで TypeScript ファイルをコンパイルします。しかし、別のビルドツール (Gulp、Grunt など) を使用している場合や、Visual Studio でのみ開発とデバッグを行っている場合は、MSBuild による TypeScript コンパイルを無効にすることが必要になる場合があります。
方法
MSBuild TypeScript コンパイルを無効にする方法はいくつかあります。
TypeScriptCompileBlocked プロパティを使用する
最も簡単な方法は、TypeScriptCompileBlocked
プロパティを true
に設定することです。これは、プロジェクトファイル (csproj
ファイル) に次のプロパティグループを追加することで行います。
<PropertyGroup>
<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
</PropertyGroup>
tsconfig.json ファイルを使用する
tsconfig.json
ファイルを使用して、特定の TypeScript ファイルのコンパイルを無効にすることもできます。これを行うには、exclude
プロパティを使用して、コンパイルから除外するファイルのリストを指定します。
{
"compilerOptions": {
/* ... */
},
"exclude": [
"path/to/file1.ts",
"path/to/file2.ts",
/* ... */
]
}
Visual Studio オプションを使用する
Visual Studio のオプションを使用して、プロジェクトレベルで TypeScript コンパイルを無効にすることもできます。これを行うには、次の手順に従います。
ツール
>オプション
>テキスト エディター
>JavaScript/TypeScript
>プロジェクト
に移動します。プロジェクトに含まれない TypeScript ファイルを自動的にコンパイルする
チェックボックスをオフにします。
注意事項
- Visual Studio オプションを使用して TypeScript コンパイルを無効にする場合、Visual Studio で TypeScript ファイルの IntelliSense が使用できなくなる場合があります。
TypeScriptCompileBlocked
プロパティを使用する場合、tsconfig.json
ファイルで設定したコンパイラオプションは無視されます。
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
</PropertyGroup>
<ItemGroup>
<Content Include="**/*.ts" />
</ItemGroup>
</Project>
このコードは、Content
アイテムグループにすべての TypeScript ファイル (*.ts
) を含めます。これは、Visual Studio にこれらのファイルがソース ファイルではなくコンテンツ ファイルであることを示すために必要です。これにより、Visual Studio はこれらのファイルを自動的にコンパイルしなくなります。
{
"compilerOptions": {
/* ... */
},
"exclude": [
"path/to/file1.ts",
"path/to/file2.ts",
/* ... */
]
}
Microsoft.TypeScript.Build
NuGet パッケージを使用して、TypeScript コンパイルを構成できます。このパッケージには、TypeScriptCompileBlocked
プロパティと同様の動作をする ExcludeFromBuild
プロパティが含まれています。
この方法を使用するには、以下の手順に従います。
- プロジェクトに
Microsoft.TypeScript.Build
NuGet パッケージをインストールします。 - プロジェクトファイル (
csproj
ファイル) に次のプロパティグループを追加します。
<PropertyGroup>
<ExcludeFromBuild>path/to/file1.ts;path/to/file2.ts;/* ... */</ExcludeFromBuild>
</PropertyGroup>
カスタムビルドタスクを使用する
カスタムビルドタスクを使用して、TypeScript コンパイルプロセスを制御することもできます。これを行うには、次の手順に従います。
- TypeScript コンパイルを処理するカスタムビルドタスクを作成します。
<Target Name="BeforeBuild">
<Exec Command="tsc" WorkingDirectory="$(ProjectDirectory)" />
</Target>
このターゲットは、ビルドプロセスが開始される前に tsc
コマンドを実行します。これにより、MSBuild による TypeScript コンパイルがバイパスされます。
msbuild プロパティを使用する
MSBuild
プロパティを使用して、TypeScript コンパイルを無効にすることもできます。これを行うには、次のコマンドを使用してプロジェクトをビルドします。
msbuild /property:TypeScriptCompile=false
このコマンドは、TypeScriptCompile
プロパティを false
に設定して msbuild
を実行します。これにより、MSBuild による TypeScript コンパイルがが無効化されます。
msbuild
プロパティを使用する場合、コマンドラインからプロジェクトをビルドする必要があります。- カスタムビルドタスクを使用する場合、ビルドプロセスが複雑になる可能性があります。
- 上記の方法は、いずれも上級ユーザー向けの方法です。使用前に、各方法のドキュメントをよく読んで理解してください。
asp.net visual-studio typescript