Share via


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 :

  1. 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.
  2. 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>
  <ShouldRunNpmBuildScript>false</ShouldRunNpmBuildScript>
</PropertyGroup>

Pour les projets contenant uniquement JavaScript qui ne nécessitent pas de génération, définissez cette propriété sur false. 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, serverou 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 aussi courant d’avoir des scripts de prépublication et de postpublication qui s’exécutent.

Si vous modifiez la commande, incluez npm run lors de l’utilisation de npm.

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

Voir aussi