Referenciar o MSBuild para o JavaScript Project System

Este artigo fornece informações de referência para as propriedades e itens do MSBuild que você pode utilizar para configurar projetos com base no JSPS (JavaScript Project System), que utilizam o formato .esproj.

Observação

As propriedades descritas neste artigo ampliam as propriedades que o MSBuild fornece por padrão. Para obter uma lista das propriedades comuns do MSBuild, confira Propriedades comuns do MSBuild.

Propriedades do ShouldRun

As seguintes propriedades do MSBuild estão documentadas nesta seção:

ShouldRunNpmInstall

A propriedade ShouldRunNpmInstall especifica se npm install deve ou não ser executado nos comandos Build e Restauração. O valor padrão da propriedade é true se não estiver definido.

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

Dois cenários comuns nos quais é desejável não executar o npm install são:

  1. Quando um gerenciador de pacotes não npm (como yarn ou pnpm) é utilizado. Nesse cenário, a melhor solução é criar um destino que seja executado antes de BeforeRestore para executar manualmente a instalação.
  2. Quando existe um mecanismo de instalação global de pacotes na solução que torna desnecessária a execução de instalações individuais.

ShouldRunBuildScript

A propriedade ShouldRunBuildScript especifica se npm run build deve ou não ser executado nos comandos de criação. O valor padrão da propriedade é true se não estiver definido.

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

Para projetos que contenham apenas JavaScript e que não exijam criação, defina essa propriedade como false. Os projetos React, Vue e Angular recém-criados geralmente se enquadram nessa categoria. Nesse cenário, a compilação é usada para produção e não para depuração. Observe que os comandos Build e Publish são separados nos projetos JSPS, e o Publish continua sendo executado mesmo que essa propriedade esteja definida como.

Propriedades do Comando

As propriedades de comando são propriedades destinadas a mapear scripts package.json comuns para destinos do MSBuild. Há suporte para valores padrão para todas essas propriedades, conforme descrito nessa seção.

Defina essas propriedades ao utilizar gerenciadores de pacotes diferentes de npm ou mecanismos de script, como gulp.

As seguintes propriedades do MSBuild são descritas nesta seção:

BuildCommand

A propriedade BuildCommand especifica o comportamento para o destino build. Se o package.json associado contiver um script build ou compile, o valor padrão BuildCommand já estará definido para executá-los.

Para modificar o comando, inclua npm run ao utilizar npm.

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

StartupCommand

A propriedade StartupCommand especifica o comportamento para o destino dotnet run. Se o package.json associado contiver um script start, server ou dev, o valor padrão StartupCommand já estará definido para executar esses scripts.

Se você modificar o comando, inclua npm run ao utilizar npm.

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

TestCommand

A propriedade TestCommand especifica o comportamento para o destino test. Se o package.json associado contiver um script test, o valor padrão TestCommand já estará definido para executar esse script.

Se você modificar o comando, inclua npm run ao utilizar npm.

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

CleanCommand

A propriedade CleanCommand especifica o comportamento para o destino clean. Se o package.json associado contiver um script clean, o valor padrão CleanCommand já estará definido para executar esse script.

Se você modificar o comando, inclua npm run ao utilizar npm.

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

PublishCommand

A propriedade PublishCommand especifica o comportamento para o destino publish. Se o package.json associado contiver um script publish, o valor padrão PublishCommand já estará definido para executar esse script. No npm, é comum ter scripts de pré e pós-publicação, que também serão executados.

Se você modificar o comando, inclua npm run ao utilizar npm.

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

Confira também