Dot-Net
僅在發布 ASP.NET 5 Web 應用程序時執行 Gulp 任務
僅在發布 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{ ... "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,這都會起作用。