Informazioni di riferimento su MSBuild per il sistema di progetti JavaScript
Questo articolo fornisce informazioni di riferimento per le proprietà e gli elementi di MSBuild che è possibile usare per configurare progetti basati su JavaScript Project System (JSPS), che usano il formato .esproj.
Nota
Le proprietà descritte in questo articolo estendono le proprietà fornite da MSBuild per impostazione predefinita. Per un elenco delle proprietà comuni di MSBuild, vedere proprietà comuni di MSBuild.
Proprietà ShouldRun
Le proprietà MSBuild seguenti sono documentate in questa sezione:
ShouldRunNpmInstall
La proprietà ShouldRunNpmInstall
specifica se eseguire o meno npm install
nei comandi Di compilazione e ripristino. Il valore predefinito per la proprietà è true
se non impostato.
<PropertyGroup>
<ShouldRunNpmInstall>false</ShouldRunNpmInstall>
</PropertyGroup>
Due scenari comuni in cui non è in esecuzione npm install
è consigliabile:
- Quando si usa una gestione pacchetti non npm (ad esempio yarn o pnpm). In questo scenario, la soluzione migliore consiste nel creare una destinazione eseguita prima di
BeforeRestore
per eseguire manualmente l'installazione. - Quando esiste un meccanismo di installazione globale dei pacchetti nella soluzione che rende superflua l'esecuzione di singole installazioni.
ShouldRunBuildScript
La proprietà ShouldRunBuildScript
specifica se eseguire o meno npm run build
nei comandi di compilazione. Il valore predefinito per la proprietà è true
se non impostato.
<PropertyGroup>
<ShouldRunBuildScript>false</ShouldRunBuildScript>
</PropertyGroup>
Per i progetti contenenti solo JavaScript che non richiedono la compilazione, impostare questa proprietà su false
. I progetti React, Vue e Angular appena creati rientrano in genere in questa categoria. In questo scenario, la compilazione viene usata per la produzione e non per il debug. Si noti che i comandi Build
e Publish
sono separati nei progetti JSPS e Publish
vengono ancora eseguiti anche se questa proprietà è impostata.
Proprietà comando
Le proprietà dei comandi sono proprietà destinate a eseguire il mapping di script di package.json comuni alle destinazioni MSBuild. I valori predefiniti sono supportati per tutte queste proprietà, come descritto in questa sezione.
Impostare queste proprietà quando si usano gestori pacchetti diversi da npm o motori di scripting, ad esempio gulp
.
Le proprietà MSBuild seguenti sono descritte in questa sezione:
BuildCommand
La proprietà BuildCommand
specifica il comportamento per la destinazione build
. Se il package.json associato contiene uno script di build
o di compile
, il valore BuildCommand
predefinito è già impostato per eseguirli.
Per modificare il comando, includere npm run
quando si usa npm
.
<PropertyGroup>
<BuildCommand>npm run build</BuildCommand>
</PropertyGroup>
StartupCommand
La proprietà StartupCommand
specifica il comportamento per la destinazione dotnet run
. Se l'package.json
associato contiene un start
, server
o uno script di dev
, il valore StartupCommand
predefinito è già impostato per eseguire questi script.
Se si modifica il comando , includere npm run
quando si usa npm
.
<PropertyGroup>
<StartupCommand>npm run serve</StartupCommand>
</PropertyGroup>
TestCommand
La proprietà TestCommand
specifica il comportamento per la destinazione test
. Se l'package.json
associato contiene uno script test
, il valore TestCommand
predefinito è già impostato per eseguire questo script.
Se si modifica il comando , includere npm run
quando si usa npm
.
<PropertyGroup>
<TestCommand>ng test</TestCommand>
</PropertyGroup>
CleanCommand
La proprietà CleanCommand
specifica il comportamento per la destinazione clean
. Se l'package.json
associato contiene uno script clean
, il valore CleanCommand
predefinito è già impostato per eseguire questo script.
Se si modifica il comando , includere npm run
quando si usa npm
.
<PropertyGroup>
<CleanCommand>npm run clean</CleanCommand>
</PropertyGroup>
PublishCommand
La proprietà PublishCommand
specifica il comportamento per la destinazione publish
. Se l'package.json
associato contiene uno script publish
, il valore PublishCommand
predefinito è già impostato per eseguire questo script. In npm è comune avere script di pre-pubblicazione e post-pubblicazione, che verranno eseguiti anche.
Se si modifica il comando , includere npm run
quando si usa npm
.
<PropertyGroup>
<PublishCommand>npm run publish</PublishCommand>
</PropertyGroup>