JavaScript Project System 的 MSBuild 參考

本文提供 MSBuild 屬性和項目的參考資訊,您可以使用這些屬性和項目,根據使用 .esproj 格式的 JavaScript Project System (JSPS) 來設定專案。

注意

本文所述的屬性預設會擴充 MSBuild 提供的屬性。 如需一般 MSBuild 屬性清單,請參閱一般 MSBuild 屬性

ShouldRun 屬性

本節記載下列 MSBuild 屬性:

ShouldRunNpmInstall

ShouldRunNpmInstall 屬性會指定是否要在建置和還原命令上執行 npm install。 如果未設定,則屬性的預設值為 true

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

不需要執行 npm install 的兩個常見情節如下:

  1. 使用非 npm 套件管理員時 (例如 yarn 或 pnpm)。 在此情節中,最佳解決方案是在 BeforeRestore 之前建立執行的目標,以手動執行安裝。
  2. 當解決方案中有全域套件安裝機制時,就不一定需要執行個別安裝。

ShouldRunBuildScript

ShouldRunBuildScript 屬性會指定是否要在建置命令上執行 npm run build。 如果未設定,則屬性的預設值為 true

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

若專案只包含不需要建置的 JavaScript,請將此屬性設定為 false。 新建立的 React、Vue 和 Angular 專案通常屬於此類別。 在此情節中,組建會用於生產環境,而不是用於偵錯。 請注意,BuildPublish 命令在 JSPS 專案中是分開的,即使已設定此屬性,Publish 仍會執行。

命令屬性

命令屬性是用於將通用 package.json 指令碼對應至 MSBuild 目標的屬性。 如本節所述,所有這些屬性都支援預設值。

使用 npm 以外的套件管理員或指令碼引擎時 (例如 gulp),請設定這些屬性。

本節說明下列 MSBuild 屬性:

BuildCommand

BuildCommand 屬性會指定 build 目標的行為。 如果相關聯的 package.json 包含 buildcompile 指令碼,則已將預設 BuildCommand 值設定為執行這些指令碼。

若要修改此命令,請在使用 npm 時包含 npm run

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

StartupCommand

StartupCommand 屬性會指定 dotnet run 目標的行為。 如果相關聯的 package.json 包含 startserverdev 指令碼,則已將預設 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>

另請參閱