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:
- 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. - 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>
<ShouldRunBuildScript>false</ShouldRunBuildScript>
</PropertyGroup>
Para projetos que contêm apenas JavaScript que não exigem compilaçã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 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>