Informations de référence sur MSBuild pour JavaScript Project System
Cet article fournit des informations de référence sur les propriétés et les éléments MSBuild que vous pouvez utiliser pour configurer des projets basés sur JavaScript Project System (JSPS), ces projets étant au format .esproj.
Remarque
Les propriétés décrites dans cet article étendent les propriétés fournies par défaut par MSBuild. Pour obtenir la liste des propriétés MSBuild courantes, consultez Propriétés MSBuild courantes.
Propriétés ShouldRun
Les propriétés MSBuild suivantes sont documentées dans cette section :
ShouldRunNpmInstall
La propriété ShouldRunNpmInstall
spécifie s’il faut exécuter ou non npm install
sur les commandes Build et Restore. La valeur par défaut de la propriété est true
si elle n’est pas définie.
<PropertyGroup>
<ShouldRunNpmInstall>false</ShouldRunNpmInstall>
</PropertyGroup>
Voici deux scénarios courants dans lesquels il est souhaitable de ne pas exécuter npm install
:
- Un gestionnaire de package non-npm (tel que yarn ou pnpm) est utilisé. Dans ce scénario, la meilleure solution consiste à créer une cible qui s’exécute avant
BeforeRestore
pour exécuter manuellement l’installation. - La solution comprend un mécanisme d’installation de package global qui rend inutile l’exécution d’installations individuelles.
ShouldRunBuildScript
La propriété ShouldRunBuildScript
spécifie s’il faut ou non exécuter npm run build
sur les commandes Build. La valeur par défaut de la propriété est true
si elle n’est pas définie.
<PropertyGroup>
<ShouldRunBuildScript>false</ShouldRunBuildScript>
</PropertyGroup>
Pour les projets contenant uniquement JavaScript qui ne nécessitent pas de génération, définissez cette propriété false
sur . Les projets React, Vue et Angular récemment créés appartiennent généralement à cette catégorie. Dans ce scénario, la build est utilisée pour la production et non pour le débogage. Notez que les commandes Build
et Publish
sont distinctes dans les projets JSPS, et que Publish
s’exécute toujours même si cette propriété est définie.
Propriétés de la commande
Les propriétés Command sont des propriétés destinées à mapper les scripts package.json courants aux cibles MSBuild. Les valeurs par défaut sont prises en charge pour toutes ces propriétés, comme décrit dans cette section.
Définissez ces propriétés lors de l’utilisation de gestionnaires de package autres que npm ou de moteurs de script tels que gulp
.
Les propriétés MSBuild suivantes sont décrites dans cette section :
BuildCommand
La propriété BuildCommand
spécifie le comportement de la cible build
. Si le package.json associé contient un script build
ou compile
, la valeur par défaut de BuildCommand
est déjà définie pour l’exécuter.
Pour modifier la commande, incluez npm run
lors de l’utilisation de npm
.
<PropertyGroup>
<BuildCommand>npm run build</BuildCommand>
</PropertyGroup>
StartupCommand
La propriété StartupCommand
spécifie le comportement de la cible dotnet run
. Si le package.json
associé contient un script start
, server
ou dev
, la valeur par défaut de StartupCommand
est déjà définie pour exécuter ce script.
Si vous modifiez la commande, incluez npm run
lors de l’utilisation de npm
.
<PropertyGroup>
<StartupCommand>npm run serve</StartupCommand>
</PropertyGroup>
TestCommand
La propriété TestCommand
spécifie le comportement de la cible test
. Si le package.json
associé contient un script test
, la valeur par défaut de TestCommand
est déjà définie pour exécuter ce script.
Si vous modifiez la commande, incluez npm run
lors de l’utilisation de npm
.
<PropertyGroup>
<TestCommand>ng test</TestCommand>
</PropertyGroup>
CleanCommand
La propriété CleanCommand
spécifie le comportement de la cible clean
. Si le package.json
associé contient un script clean
, la valeur par défaut de CleanCommand
est déjà définie pour exécuter ce script.
Si vous modifiez la commande, incluez npm run
lors de l’utilisation de npm
.
<PropertyGroup>
<CleanCommand>npm run clean</CleanCommand>
</PropertyGroup>
PublishCommand
La propriété PublishCommand
spécifie le comportement de la cible publish
. Si le package.json
associé contient un script publish
, la valeur par défaut de PublishCommand
est déjà définie pour exécuter ce script. Dans npm, il est courant d’avoir des scripts de pré-publication et post-publication, qui s’exécutent également.
Si vous modifiez la commande, incluez npm run
lors de l’utilisation de npm
.
<PropertyGroup>
<PublishCommand>npm run publish</PublishCommand>
</PropertyGroup>