この記事では、.esproj 形式を使用する JavaScript プロジェクト システム (JSPS) に基づいてプロジェクトを構成するために使用できる MSBuild プロパティと項目のリファレンス情報を提供します。
手記
この記事で説明するプロパティは、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 が実行されることに注意してください。
コマンドのプロパティ
コマンド プロパティは、一般的な package.json スクリプトを MSBuild ターゲットにマップすることを目的としたプロパティです。 このセクションで説明するように、これらのプロパティの既定値はすべてサポートされています。
npm 以外のパッケージ マネージャーや、gulpなどのスクリプト エンジンを使用する場合は、これらのプロパティを設定します。
このセクションでは、次の MSBuild プロパティについて説明します。
- BuildCommand
- StartupCommand
- TestCommand
- CleanCommand の
- PublishCommand の
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>
関連項目
- MSBuild スキーマ リファレンス の
- 一般的な MSBuild プロパティを
- NuGet パック の MSBuild プロパティを する
- NuGet 復元 の MSBuild プロパティを する
- ビルド をカスタマイズする