10

仅在发布 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 任务绑定到目标?

任何建议将不胜感激。

4

2 回答 2

7

在您的发布配置文件中创建目标(*.pubxml 文件仍然存在于 asp.net 5 项目中)。pubxml 文件是一个构建文件,它被添加到您的 proj 构建文件中。这样,它只会在您使用该特定配置文件发布时运行。
我会使用 BeforeBuild 目标更通用(所有包恢复,所有 js/css 在视图中的注入等我会在构建开始之前执行它们)并在那里添加 gulp 命令:

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

无论您是从 Visual Studio 发布还是从您的构建机器使用 MSBuild,这都会起作用。

于 2015-08-07T19:35:30.060 回答
4

更新 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",
  }
...
}
于 2015-08-11T23:47:17.840 回答