Dot-Net

僅在發布 ASP.NET 5 Web 應用程序時執行 Gulp 任務

  • July 14, 2016

僅在發布 ASP.NET 5 Web 應用程序時執行 Gulp 任務的最佳方式是什麼?我是否需要添加執行 Gulp 命令的自定義建構事件?

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

BeforePublish或者,最好是,有沒有辦法通過 Task Runner Explorer將 Gulp 任務綁定到目標?

任何建議將不勝感激。

更新 2 .NET Core CLI 不再支持“預打包”。“後編譯”腳本可能會更好。

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

原始答案

將其添加到您的“腳本”部分project.json

project.json:腳本文件

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

在您的發布配置文件中創建目標(*.pubxml 文件仍然存在於 asp.net 5 項目中)。pubxml 文件是一個建構文件,它被添加到您的 proj 建構文件中。這樣,它只會在您使用該特定配置文件發佈時執行。

我會使用 BeforeBuild 目標更通用(所有包恢復,所有 js/css 在視圖中的注入等我會在建構開始之前執行它們)並在那裡添加 gulp 命令:

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

無論您是從 Visual Studio 發布還是從您的建構機器使用 MSBuild,這都會起作用。

引用自:https://stackoverflow.com/questions/31883573