本文提供了可用于基于 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 属性
- 自定义生成