2015-08-07 24 views
9

Cách tốt nhất để thực hiện các tác vụ Gulp chỉ khi xuất bản ứng dụng web ASP.NET 5 là gì? Tôi có cần add a custom build event thực thi lệnh Gulp không?Chỉ thực hiện các tác vụ của Gulp khi xuất bản ứng dụng 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 

Hoặc, tốt nhất, có cách nào để ràng buộc công việc Gulp với mục tiêu BeforePublish qua Task Runner Explorer không?

Mọi đề xuất sẽ rất được đánh giá cao.

Trả lời

4

CẬP NHẬT 2 .NET Core CLI không hỗ trợ "prepack" nữa. Tập lệnh "postcompile" có thể hoạt động tốt hơn.

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

gốc trả lời

Thêm nó vào "kịch bản" của bạn phần của project.json

project.json: Scripts documentation

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

Nếu tôi muốn nó chạy trước một công bố, sẽ Tôi móc vào hành động 'prepack'? –

+1

Trên thực tế, mục tiêu "prebuild" có thể tốt hơn nếu bạn đang sử dụng công cụ VS để xuất bản. – natemcmaster

+0

nếu bạn muốn chạy trước khi xuất bản thì tôi nghĩ 'prepublish' là hành động sử dụng ... – Pawel

8

Tạo mục tiêu trong tệp hồ sơ xuất bản của bạn (tệp * .pubxml vẫn tồn tại trong các dự án asp.net 5). Tệp pubxml là tệp xây dựng và tệp được thêm vào tệp xây dựng proj của bạn. Bằng cách này, nó sẽ chỉ được chạy khi bạn xuất bản sử dụng cấu hình cụ thể đó.
Tôi sẽ sử dụng BeforeBuild mục tiêu là chung chung hơn (tất cả các gói phục hồi, tất cả các tiêm js/css trong quan điểm vv tôi sẽ làm cho họ trước khi xây dựng sẽ bắt đầu) và thêm có lệnh ngụm:

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

Điều này sẽ làm việc không có vấn đề nếu bạn xuất bản từ Visual Studio hoặc với MSBuild từ máy xây dựng của bạn.

Các vấn đề liên quan