JavaScript 項目系統的 MSBuild 參考
本文提供 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 屬性
- 自定義組建