JavaScript Project System の MSBuild リファレンス

この記事では、.esproj 形式を使用する JavaScript Project System (JSPS) に基づいてプロジェクトを構成するために使用できる、MSBuild プロパティと項目のリファレンス情報を提供します。

Note

この記事で説明するプロパティを使用して、MSBuild によって既定で提供されるプロパティを拡張します。 一般的な MSBuild プロパティの一覧については、「MSBuild プロジェクトの共通プロパティ」を参照してください。

ShouldRun プロパティ

このセクションでは、次の MSBuild プロパティについて説明します。

ShouldRunNpmInstall

ShouldRunNpmInstall プロパティでは、Build および Restore コマンドで npm install を実行するかどうかを指定します。 このプロパティの既定値は true です (未設定の場合)。

<PropertyGroup>
  <ShouldRunNpmInstall>false</ShouldRunNpmInstall>
</PropertyGroup>

npm install を実行しないことが望ましい場合の 2 つの一般的なシナリオは次のとおりです。

  1. npm 以外のパッケージ マネージャー (yarn や pnpm など) が使用されている場合。 このシナリオでは、BeforeRestore の前に実行するターゲットを作成して、インストールを手動で実行することをお勧めします。
  2. ソリューションにグローバル パッケージ インストール メカニズムが存在し、個々のインストールを実行する必要がない場合。

ShouldRunBuildScript

ShouldRunBuildScript プロパティでは、Build コマンドで npm run build を実行するかどうかを指定します。 このプロパティの既定値は true です (未設定の場合)。

<PropertyGroup>
  <ShouldRunNpmBuildScript>false</ShouldRunNpmBuildScript>
</PropertyGroup>

ビルドを必要としない JavaScript のみを含むプロジェクトの場合は、このプロパティを false に設定します。 新しく作成された React、Vue、Angular プロジェクトは、通常このカテゴリに分類されます。 このシナリオでは、ビルドはデバッグではなく運用環境に使用されます。 Build および Publish コマンドは JSPS プロジェクト内で別個になっていて、このプロパティが設定されている場合でも Publish が実行されることに注意してください。

Command Properties

コマンド プロパティは、一般的な package.json スクリプトを MSBuild ターゲットにマップすることを目的としたプロパティです。 このセクションで説明するように、これらすべてのプロパティで既定値がサポートされています。

npm 以外のパッケージ マネージャーまたは gulp などのスクリプト エンジンを使用する場合は、これらのプロパティを設定します。

このセクションでは、次の MSBuild プロパティについて説明します。

BuildCommand

BuildCommand プロパティでは、build ターゲットの動作を指定します。 関連する package.jsonbuild または compile スクリプトが含まれている場合、既定の BuildCommand 値は既に、これらを実行するように設定されています。

コマンドを変更するには、npm を使用するときに npm run を含めます。

<PropertyGroup>
  <BuildCommand>npm run build</BuildCommand>
</PropertyGroup>

StartupCommand

StartupCommand プロパティでは、dotnet run ターゲットの動作を指定します。 関連する package.jsonstartserver、または dev スクリプトが含まれている場合、既定の StartupCommand 値は既に、これらのスクリプトを実行するように設定されています。

コマンドを変更する場合は、npm を使用するときに npm run を含めます。

<PropertyGroup>
  <StartupCommand>npm run serve</StartupCommand>
</PropertyGroup>

TestCommand

TestCommand プロパティでは、test ターゲットの動作を指定します。 関連する package.jsontest スクリプトが含まれている場合、既定の TestCommand 値は既に、このスクリプトを実行するように設定されています。

コマンドを変更する場合は、npm を使用するときに npm run を含めます。

<PropertyGroup>
  <TestCommand>ng test</TestCommand>
</PropertyGroup>

CleanCommand

CleanCommand プロパティでは、clean ターゲットの動作を指定します。 関連する package.jsonclean スクリプトが含まれている場合、既定の CleanCommand 値は既に、このスクリプトを実行するように設定されています。

コマンドを変更する場合は、npm を使用するときに npm run を含めます。

<PropertyGroup>
  <CleanCommand>npm run clean</CleanCommand>
</PropertyGroup>

PublishCommand

PublishCommand プロパティでは、publish ターゲットの動作を指定します。 関連する package.jsonpublish スクリプトが含まれている場合、既定の PublishCommand 値は既に、このスクリプトを実行するように設定されています。 npm では、発行の前と後のスクリプトがあるのが一般的で、これらも実行されます。

コマンドを変更する場合は、npm を使用するときに npm run を含めます。

<PropertyGroup>
  <PublishCommand>npm run publish</PublishCommand>
</PropertyGroup>

関連項目