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:

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

Para los proyectos que solo contienen JavaScript y que no requieren ninguna compilación, establezca esta propiedad en false. 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>

Consulte también