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 つの一般的なシナリオは次のとおりです。
- npm 以外のパッケージ マネージャー (yarn や pnpm など) が使用されている場合。 このシナリオでは、
BeforeRestore
の前に実行するターゲットを作成して、インストールを手動で実行することをお勧めします。 - ソリューションにグローバル パッケージ インストール メカニズムが存在し、個々のインストールを実行する必要がない場合。
ShouldRunBuildScript
ShouldRunBuildScript
プロパティでは、Build コマンドで npm run build
を実行するかどうかを指定します。 このプロパティの既定値は true
です (未設定の場合)。
<PropertyGroup>
<ShouldRunBuildScript>false</ShouldRunBuildScript>
</PropertyGroup>
ビルドを必要としない JavaScript のみを含むプロジェクトの場合は、このプロパティを false
に設定します。 新しく作成された React、Vue、Angular プロジェクトは、通常このカテゴリに分類されます。 このシナリオでは、ビルドはデバッグではなく運用環境に使用されます。 Build
および Publish
コマンドは JSPS プロジェクト内で別個になっていて、このプロパティが設定されている場合でも Publish
が実行されることに注意してください。
Command Properties
コマンド プロパティは、一般的な package.json スクリプトを MSBuild ターゲットにマップすることを目的としたプロパティです。 このセクションで説明するように、これらすべてのプロパティで既定値がサポートされています。
npm 以外のパッケージ マネージャーまたは gulp
などのスクリプト エンジンを使用する場合は、これらのプロパティを設定します。
このセクションでは、次の MSBuild プロパティについて説明します。
BuildCommand
BuildCommand
プロパティでは、build
ターゲットの動作を指定します。 関連する package.json に build
または compile
スクリプトが含まれている場合、既定の BuildCommand
値は既に、これらを実行するように設定されています。
コマンドを変更するには、npm
を使用するときに npm run
を含めます。
<PropertyGroup>
<BuildCommand>npm run build</BuildCommand>
</PropertyGroup>
StartupCommand
StartupCommand
プロパティでは、dotnet run
ターゲットの動作を指定します。 関連する package.json
に start
、server
、または dev
スクリプトが含まれている場合、既定の StartupCommand
値は既に、これらのスクリプトを実行するように設定されています。
コマンドを変更する場合は、npm
を使用するときに npm run
を含めます。
<PropertyGroup>
<StartupCommand>npm run serve</StartupCommand>
</PropertyGroup>
TestCommand
TestCommand
プロパティでは、test
ターゲットの動作を指定します。 関連する package.json
に test
スクリプトが含まれている場合、既定の TestCommand
値は既に、このスクリプトを実行するように設定されています。
コマンドを変更する場合は、npm
を使用するときに npm run
を含めます。
<PropertyGroup>
<TestCommand>ng test</TestCommand>
</PropertyGroup>
CleanCommand
CleanCommand
プロパティでは、clean
ターゲットの動作を指定します。 関連する package.json
に clean
スクリプトが含まれている場合、既定の CleanCommand
値は既に、このスクリプトを実行するように設定されています。
コマンドを変更する場合は、npm
を使用するときに npm run
を含めます。
<PropertyGroup>
<CleanCommand>npm run clean</CleanCommand>
</PropertyGroup>
PublishCommand
PublishCommand
プロパティでは、publish
ターゲットの動作を指定します。 関連する package.json
に publish
スクリプトが含まれている場合、既定の PublishCommand
値は既に、このスクリプトを実行するように設定されています。 npm では、発行前と発行後のスクリプトも実行されるのが一般的です。
コマンドを変更する場合は、npm
を使用するときに npm run
を含めます。
<PropertyGroup>
<PublishCommand>npm run publish</PublishCommand>
</PropertyGroup>