本文提供 MSBuild 屬性和專案參考資訊,可讓您根據使用 .esproj 格式的 JavaScript 專案系統 (JSPS) 來設定專案。
ShouldRun 屬性
本節記載了下列 MSBuild 屬性:
ShouldRunNpmInstall
ShouldRunNpmInstall 屬性會指定是否要在建置和還原命令上執行 npm install。 如果未設定,屬性的預設值會 true。
<PropertyGroup>
<ShouldRunNpmInstall>false</ShouldRunNpmInstall>
</PropertyGroup>
不執行 npm install 的兩個常見案例如下:
- 使用非 npm 套件管理員時(例如 yarn 或 pnpm)。 在此案例中,最佳解決方案是在
BeforeRestore手動執行安裝之前建立執行的目標。 - 當解決方案中有全域套件安裝機制時,不必要地執行個別安裝。
ShouldRunBuildScript
ShouldRunBuildScript 屬性會指定是否要在建置命令上執行 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
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 架構參考
- Common MSBuild 屬性
- NuGet 套件 的 MSBuild 屬性
- NuGet 還原的 MSBuild 屬性
- 自定義組建