この記事では、.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 プロパティを する
- ビルド をカスタマイズする