Referencia de MSBuild para el sistema de proyectos de JavaScript
En este artículo se proporciona información de referencia para las propiedades y elementos de MSBuild que puede usar para configurar proyectos basados en JavaScript Project System (JSPS), que usan el formato .esproj.
Nota:
Las propiedades descritas en este artículo amplían las propiedades que proporciona MSBuild de forma predeterminada. Para obtener una lista de las propiedades comunes de MSBuild, vea Propiedades comunes de MSBuild.
Propiedades ShouldRun
En esta sección se documentan las siguientes propiedades de MSBuild:
ShouldRunNpmInstall
La propiedad ShouldRunNpmInstall
especifica si se va a ejecutar o no npm install
en los comandos Compilar y Restaurar. El valor predeterminado de la propiedad es true
si no se establece.
<PropertyGroup>
<ShouldRunNpmInstall>false</ShouldRunNpmInstall>
</PropertyGroup>
Dos escenarios comunes en los que es preferible no ejecutar npm install
:
- Cuando se usa un administrador de paquetes que no es npm (como yarn o pnpm). En este escenario, la mejor solución es crear un destino que se ejecute antes de
BeforeRestore
para ejecutar manualmente la instalación. - Cuando existe un mecanismo de instalación global de paquetes en la solución que hace que la ejecución de instalaciones individuales no sea necesaria.
ShouldRunBuildScript
La propiedad ShouldRunBuildScript
especifica si se va a ejecutar o no npm run build
en los comandos Compilar. El valor predeterminado de la propiedad es true
si no se establece.
<PropertyGroup>
<ShouldRunBuildScript>false</ShouldRunBuildScript>
</PropertyGroup>
Para los proyectos que solo contienen JavaScript que no requieren compilación, establezca esta propiedad false
en . Los proyectos de React, Vue y Angular recién creados suelen pertenecer a esta categoría. En este escenario, la compilación se usa para producción, y no para la depuración. Tenga en cuenta que los comandos Build
y Publish
son independientes en los proyectos de JSPS, y que Publish
sigue ejecutándose aunque se establezca esta propiedad.
Propiedades del comando
Las propiedades Comando son propiedades destinadas a asignar scripts package.json comunes a destinos de MSBuild. Se admiten valores predeterminados para todas estas propiedades, como se describe en esta sección.
Establezca estas propiedades al usar administradores de paquetes distintos de npm o motores de scripting como gulp
.
En esta sección se describen las siguientes propiedades de MSBuild:
BuildCommand
La propiedad BuildCommand
especifica el comportamiento del destino build
. Si el archivo package.json asociado contiene un script build
o compile
, el valor predeterminado BuildCommand
ya está establecido para ejecutarlos.
Para modificar el comando, incluya npm run
al usar npm
.
<PropertyGroup>
<BuildCommand>npm run build</BuildCommand>
</PropertyGroup>
StartupCommand
La propiedad StartupCommand
especifica el comportamiento del destino dotnet run
. Si el package.json
asociado contiene un script start
, server
o dev
, el valor predeterminado StartupCommand
ya está establecido para ejecutar estos scripts.
Si modifica el comando, incluya npm run
al usar npm
.
<PropertyGroup>
<StartupCommand>npm run serve</StartupCommand>
</PropertyGroup>
TestCommand
La propiedad TestCommand
especifica el comportamiento del destino test
. Si el package.json
asociado contiene un script test
, el valor predeterminado TestCommand
ya está establecido para ejecutar este script.
Si modifica el comando, incluya npm run
al usar npm
.
<PropertyGroup>
<TestCommand>ng test</TestCommand>
</PropertyGroup>
CleanCommand
La propiedad CleanCommand
especifica el comportamiento del destino clean
. Si el package.json
asociado contiene un script clean
, el valor predeterminado CleanCommand
ya está establecido para ejecutar este script.
Si modifica el comando, incluya npm run
al usar npm
.
<PropertyGroup>
<CleanCommand>npm run clean</CleanCommand>
</PropertyGroup>
PublishCommand
La propiedad PublishCommand
especifica el comportamiento del destino publish
. Si el package.json
asociado contiene un script publish
, el valor predeterminado PublishCommand
ya está establecido para ejecutar este script. En npm, es habitual tener scripts previos y posteriores a la publicación, que también se ejecutarán.
Si modifica el comando, incluya npm run
al usar npm
.
<PropertyGroup>
<PublishCommand>npm run publish</PublishCommand>
</PropertyGroup>