Справочник по MSBuild для системы проектов JavaScript
В этой статье содержатся справочные сведения о свойствах и элементах MSBuild, которые можно использовать для настройки проектов на основе системы проектов JavaScript (JSPS), которая использует формат .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 run
при использовании npm
.
<PropertyGroup>
<BuildCommand>npm run build</BuildCommand>
</PropertyGroup>
StartupCommand
Свойство StartupCommand
указывает поведение целевого объекта dotnet run
. Если связанный package.json
содержит start
, server
или скрипт dev
, значение по умолчанию StartupCommand
уже задано для выполнения этих скриптов.
При изменении команды включите npm run
при использовании npm
.
<PropertyGroup>
<StartupCommand>npm run serve</StartupCommand>
</PropertyGroup>
TestCommand
Свойство TestCommand
указывает поведение целевого объекта test
. Если связанный package.json
содержит скрипт test
, значение TestCommand
по умолчанию уже установлено для запуска этого скрипта.
При изменении команды включите npm run
при использовании npm
.
<PropertyGroup>
<TestCommand>ng test</TestCommand>
</PropertyGroup>
CleanCommand
Свойство CleanCommand
указывает поведение целевого объекта clean
. Если связанный package.json
содержит скрипт clean
, значение CleanCommand
по умолчанию уже установлено для запуска этого скрипта.
При изменении команды включите npm run
при использовании npm
.
<PropertyGroup>
<CleanCommand>npm run clean</CleanCommand>
</PropertyGroup>
PublishCommand
Свойство PublishCommand
указывает поведение целевого объекта publish
. Если связанный package.json
содержит скрипт publish
, значение PublishCommand
по умолчанию уже установлено для запуска этого скрипта. В npm обычно используются скрипты предварительной и последующей публикации, которые также будут выполняться.
При изменении команды включите npm run
при использовании npm
.
<PropertyGroup>
<PublishCommand>npm run publish</PublishCommand>
</PropertyGroup>
См. также
- справочник по схеме MSBuild
- общие свойства MSBuild
- свойства MSBuild для пакета NuGet
- свойства MSBuild для восстановления NuGet
- Настройка сборки