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
的兩個常見情節如下:
- 使用非 npm 套件管理員時 (例如 yarn 或 pnpm)。 在此情節中,最佳解決方案是在
BeforeRestore
之前建立執行的目標,以手動執行安裝。 - 當解決方案中有全域套件安裝機制時,就不一定需要執行個別安裝。
ShouldRunBuildScript
ShouldRunBuildScript
屬性會指定是否要在建置命令上執行 npm run build
。 如果未設定,則屬性的預設值為 true
。
<PropertyGroup>
<ShouldRunNpmBuildScript>false</ShouldRunNpmBuildScript>
</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>