JavaScript 项目系统的 MSBuild 参考
本文提供了可用于基于 JavaScript 项目系统(JSPS)配置项目的 MSBuild 属性和项的参考信息,这些项目使用 .esproj 格式。
注意
本文中所述的属性将默认扩展 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>
<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 架构参考
- 常见 MSBuild 属性
- NuGet 包 的 MSBuild 属性
- NuGet 还原的 MSBuild 属性
- 自定义生成