2015-08-07 11 views
9

Quale sarebbe il modo migliore per eseguire le attività di Gulp solo quando si pubblica un'applicazione Web ASP.NET 5? Devo fare add a custom build event che esegue un comando Gulp?Esecuzione di attività Gulp solo durante la pubblicazione dell'applicazione Web ASP.NET 5

cmd.exe /c gulp -b "C:\Projects\ProjectName\Source\ProjectName.Web" --gulpfile "C:\Projects\ProjectName\Source\ProjectName.Web\Gulpfile.js" publish 

o, preferibilmente, c'è un modo per associare un compito Gulp al BeforePublish di destinazione tramite la Task Runner Explorer?

Qualsiasi suggerimento sarebbe molto apprezzato.

risposta

4

UPDATE 2 La CLI di .NET Core non supporta più "prepack". Uno script "postcompile" potrebbe funzionare meglio.

https://docs.microsoft.com/en-us/dotnet/articles/core/tools/project-json#scripts

risposta originale

Aggiungilo alla tua sezione "script" di project.json

project.json: Scripts documentation

{ 
... 
    "scripts": { 
    "prepack": "gulp publish", 
    } 
... 
} 
+0

Se volevo che venga eseguito prima di un pubblicano, avrei agganciarsi all'azione 'prepack'? –

+1

In realtà, l'obiettivo "pre-compilazione" potrebbe essere migliore se si sta utilizzando lo strumento VS per pubblicare. – natemcmaster

+0

se vuoi eseguire prima di pubblicare, allora penso che "prepublish" sia l'azione da usare ... – Pawel

8

Creare la destinazione nel file di profilo di pubblicazione (il file * .pubxml esiste ancora nei progetti asp.net 5). Il file pubxml è un file di build e viene aggiunto al tuo file di build proj. In questo modo verrebbe eseguito solo quando pubblichi utilizzando quel profilo specifico.
Userei bersaglio BeforeBuild ad essere più generico (ripristinare tutti i pacchetti, tutta l'iniezione di js/css in vista ecc vorrei fare prima la costruzione dovrebbe iniziare) e aggiungere lì il comando sorso:

<Target Name="BeforeBuild"> 
    <Exec Command="call gulp" WorkingDirectory="$(ProjectDir)" /> 
</Target> 

Questo funzionerebbe indipendentemente dal fatto che pubblichi da Visual Studio o con MSBuild dal tuo computer di compilazione.