JavaScript Project System 的 MSBuild 参考

本文提供 MSBuild 属性和项的参考信息,你可以使用这些属性和项来配置基于 JavaScript Project System (JSPS) 的项目(使用 .esproj 格式)。

注意

本文中所述的属性扩展了 MSBuild 默认提供的属性。 有关通用 MSBuild 属性的列表,请参阅通用 MSBuild 属性

ShouldRun 属性

本节收录了以下 MSBuild 属性:

ShouldRunNpmInstall

ShouldRunNpmInstall 属性指定是否在 Build 和 Restore 命令中运行 npm install。 该属性的默认值为 true(如果未设置)。

<PropertyGroup>
  <ShouldRunNpmInstall>false</ShouldRunNpmInstall>
</PropertyGroup>

不应该运行 npm install 的两种常见情况是:

  1. 使用非 npm 包管理器(如 yarn 或 pnpm)时。 在这种情况下,最佳解决方案是创建一个在 BeforeRestore 之前运行的目标以手动运行安装。
  2. 当解决方案中存在全局包安装机制,因而无需运行单独的安装时。

ShouldRunBuildScript

ShouldRunBuildScript 属性指定是否在 Build 命令中运行 npm run build。 该属性的默认值为 true(如果未设置)。

<PropertyGroup>
  <ShouldRunNpmBuildScript>false</ShouldRunNpmBuildScript>
</PropertyGroup>

对于仅包含不需要生成的 JavaScript 的项目,请将此属性设置为 false。 新建的 React、Vue 和 Angular 项目通常属于此类别。 在这种情况下,生成将用于生产而不是调试。 请注意,BuildPublish 命令在 JSPS 项目中是独立的,即使设置了此属性,Publish 仍会运行。

命令属性

命令属性是用于将常见 package.json 脚本映射到 MSBuild 目标的属性。 所有这些属性都支持默认值,如本部分所述。

使用 npm 以外的包管理器或脚本引擎(例如 gulp)时设置这些属性。

本部分介绍了以下 MSBuild 属性:

BuildCommand

BuildCommand 属性指定 build 目标的行为。 如果关联的 package.json 包含 buildcompile 脚本,则默认的 BuildCommand 值已设置为运行这些脚本。

若要修改命令,请在使用 npm 时包含 npm run

<PropertyGroup>
  <BuildCommand>npm run build</BuildCommand>
</PropertyGroup>

StartupCommand

StartupCommand 属性指定 dotnet run 目标的行为。 如果关联的 package.json 包含 startserverdev 脚本,则默认的 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>

另请参阅