Справочник по MSBuild для системы проектов JavaScript

В этой статье содержатся справочные сведения о свойствах и элементах MSBuild, которые можно использовать для настройки проектов на основе системы проектов JavaScript (JSPS), которая использует формат esproj .

Примечание.

Свойства, описанные в этой статье, расширяют свойства MSBuild, предоставляемые по умолчанию. Список стандартных свойств см. в статье Общие свойства MSBuild.

Свойства ShouldRun

В этом разделе описаны следующие свойства MSBuild:

ShouldRunNpmInstall

Свойство ShouldRunNpmInstall указывает, следует ли запускать или не запускать npm install команды сборки и восстановления. Значение по умолчанию для свойства — true если не задано.

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

Два распространенных сценария, в которых не выполняется npm install желательно:

  1. Если используется диспетчер пакетов, отличный от npm (например, yarn или pnpm). В этом сценарии лучше всего создать целевой объект, который выполняется перед BeforeRestore запуском установки вручную.
  2. Если в решении существует глобальный механизм установки пакетов, который делает выполнение отдельных установок ненужным.

ShouldRunBuildScript

Свойство ShouldRunBuildScript указывает, следует ли выполнять команды 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 run при использовании npm.

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

StartupCommand

Свойство StartupCommand задает поведение целевого dotnet run объекта. Если связанный package.jsonstartserverсодержит скрипт или dev скрипт, значение по умолчанию StartupCommand уже задано для выполнения этих скриптов.

При изменении команды включите npm run при использовании npm.

<PropertyGroup>
  <StartupCommand>npm run serve</StartupCommand>
</PropertyGroup>

TestCommand

Свойство TestCommand задает поведение целевого test объекта. Если связанный package.jsontest сценарий содержит скрипт, значение по умолчанию TestCommand уже задано для запуска этого скрипта.

При изменении команды включите npm run при использовании npm.

<PropertyGroup>
  <TestCommand>ng test</TestCommand>
</PropertyGroup>

CleanCommand

Свойство CleanCommand задает поведение целевого clean объекта. Если связанный package.jsonclean сценарий содержит скрипт, значение по умолчанию CleanCommand уже задано для запуска этого скрипта.

При изменении команды включите npm run при использовании npm.

<PropertyGroup>
  <CleanCommand>npm run clean</CleanCommand>
</PropertyGroup>

PublishCommand

Свойство PublishCommand задает поведение целевого publish объекта. Если связанный package.jsonpublish сценарий содержит скрипт, значение по умолчанию PublishCommand уже задано для запуска этого скрипта. В npm обычно используются скрипты предварительной и последующей публикации, которые также будут выполняться.

При изменении команды включите npm run при использовании npm.

<PropertyGroup>
  <PublishCommand>npm run publish</PublishCommand>
</PropertyGroup>

См. также