32

HTML5 có thuộc tính async cho tệp tập lệnh, để bật tải không đồng bộ.Tải đồng bộ các tệp javascript bằng cách sử dụng thuộc tính async MVC4 Bundling và HTML5 async

<script type="text/javascript" src="myScript.js" async></script> 

Tôi có thể tận dụng điều này với gói MVC4 bằng cách tham chiếu gói như vậy.

<script type="text/javascript" src='@Scripts.Url("~/bundles/jquery")' async></script> 

Nhưng điều này có nghĩa là các tập lệnh của tôi được đóng gói ngay cả khi ở chế độ gỡ lỗi.

Vì vậy, làm cách nào tôi có thể tận dụng lợi thế của gói và thuộc tính async mà không mất không giảm thiểu khi gỡ lỗi.

Trả lời

55

Nếu bạn nâng cấp lên phiên bản 1.1-alpha1, bạn chỉ có thể thêm các thuộc tính async sang định dạng thẻ hoặc thông qua:

Scripts.DefaultTagFormat = @"<script src=""{0}"" async></script>" 

hoặc đi qua nó nơi bạn muốn tag async

Sử dụng sau thay vì Scripts.Render ("~/bundles/jquery")

Scripts.RenderFormat(@"<script src=""{0}"" async></script>", "~/bundles/jquery") 
+0

System.Web.Optimization 4.0 dường như đã xóa cả DefaultTagFormat và RenderFormat, không cho phép đầu ra thẻ tập lệnh tùy chỉnh (sử dụng Asse tManager.RenderScriptTag trực tiếp). – Enull

+1

@ E-Null Phiên bản hiện tại hỗ trợ cả hai phương pháp trên nếu bạn chỉ cần thực hiện 'PM> Gói cài đặt Microsoft.AspNet.Web.Optimization' –

+3

Tôi cần viết những dòng này ở đâu? (Một trong số chúng ..) Và những gì cần nâng cấp lên 1,1 -pha? phiên bản MVC hoặc Tối ưu hóa web? Cảm ơn ... – Ron

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