Partage via


Référence MSBuild pour le système de projet JavaScript

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 le système de projet JavaScript (JSPS), qui utilisent le format .esproj.

Note

Les propriétés décrites dans cet article étendent les propriétés que MSBuild fournit par défaut. Pour obtenir la liste des propriétés MSBuild courantes, consultez propriétés MSBuild communes.

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>

Deux scénarios courants où l’exécution de npm install n’est pas souhaitable sont les suivants :

  1. Lorsqu’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. Lorsqu’un mécanisme d’installation de package global existe dans la solution 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é sur false. Les projets React, Vue et Angular nouvellement créés tombent généralement dans cette catégorie. Dans ce scénario, la génération 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 Publish s’exécute toujours même si cette propriété est définie.

Propriétés de la commande

Les propriétés de commande sont des propriétés destinées à mapper des 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 des 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 de BuildCommand par défaut est déjà définie pour les 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 start, serverou un script dev, la valeur de StartupCommand par défaut est déjà définie pour exécuter ces scripts.

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 TestCommand par défaut 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 CleanCommand par défaut 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 PublishCommand par défaut 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>

Voir aussi