Script Tag Helper trong ASP.NET Core
Bởi Rick Anderson
Script Tag Helper (Tag Helper Script) tạo liên kết đến file script chính hoặc dự phòng. Thông thường file script chính nằm trên Content Delivery Network (CDN - Mạng phân phối nội dung).
CDN:
- Cung cấp một số ưu điểm về hiệu suất so với việc lưu trữ tài nguyên cùng ứng dụng web.
- Không nên được coi là nguồn duy nhất cho tài nguyên. CDN không phải lúc nào cũng khả dụng, vì vậy cần sử dụng phương án dự phòng đáng tin cậy. Thông thường dự phòng là trang web lưu trữ ứng dụng web.
Script Tag Helper cho phép bạn chỉ định CDN cho file script và phương án dự phòng khi CDN không khả dụng. Script Tag Helper cung cấp lợi thế hiệu suất của CDN kết hợp với độ bền của lưu trữ cục bộ.
Đoạn markup Razor (cú pháp đánh dấu Razor) sau đây hiển thị phần tử script với phương án dự phòng:
<script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-3.3.1.js"
asp-fallback-src="~/lib/jquery/dist/jquery.js"
asp-fallback-test="window.jQuery"
crossorigin="anonymous"
integrity="sha384-tsQFqpEReu7ZLhBV2VZlAu7zcOV+rXbYlF2cqB8txI/8aZajjp4Bqd+V6D5IgvKT">
</script>Không sử dụng thuộc tính defer của phần tử <script> để trì hoãn việc tải script CDN. Script Tag Helper render (kết xuất) JavaScript thực thi ngay lập tức biểu thức asp-fallback-test. Biểu thức sẽ thất bại nếu việc tải script CDN bị trì hoãn.
Các thuộc tính Script Tag Helper thường dùng
Xem Script Tag Helper để biết tất cả các thuộc tính, properties (thuộc tính) và methods (phương thức) của Script Tag Helper.
src
Địa chỉ của script bên ngoài cần sử dụng.
asp-append-version
Khi asp-append-version được chỉ định với giá trị true cùng với thuộc tính src, một phiên bản duy nhất sẽ được tạo ra.
Để Tag Helper tạo phiên bản cho file tĩnh nằm ngoài wwwroot, xem Serve files from multiple locations.
asp-fallback-src
URL của thẻ Script dự phòng khi thẻ chính không tải được.
asp-fallback-src-exclude
Danh sách các mẫu glob file JavaScript cách nhau bằng dấu phẩy để loại trừ khỏi danh sách dự phòng, trong trường hợp thẻ chính thất bại. Các mẫu glob được đánh giá tương đối so với cài đặt webroot của ứng dụng. Phải được sử dụng kết hợp với asp-fallback-src-include.
asp-fallback-src-include
Danh sách các mẫu glob file JavaScript cách nhau bằng dấu phẩy để dự phòng khi thẻ chính thất bại. Các mẫu glob được đánh giá tương đối so với cài đặt webroot của ứng dụng.
asp-fallback-test
Phương thức script được định nghĩa trong script chính để sử dụng cho kiểm tra dự phòng. Để biết thêm thông tin, xem FallbackTestExpression.
asp-order
Khi một tập hợp các instance (đối tượng) ITagHelper được thực thi, các phương thức Init(TagHelperContext) của chúng được gọi theo thứ tự đã chỉ định trước; sau đó các phương thức ProcessAsync(TagHelperContext, TagHelperOutput) được gọi theo thứ tự đã chỉ định. Giá trị thấp hơn được thực thi trước.
asp-src-exclude
Danh sách các mẫu glob file JavaScript cách nhau bằng dấu phẩy để loại trừ khỏi quá trình tải. Các mẫu glob được đánh giá tương đối so với cài đặt webroot của ứng dụng. Phải được sử dụng kết hợp với asp-src-include.
asp-src-include
Danh sách các mẫu glob file JavaScript cách nhau bằng dấu phẩy để tải. Các mẫu glob được đánh giá tương đối so với cài đặt webroot của ứng dụng.
asp-suppress-fallback-integrity
Giá trị boolean (logic) xác định liệu hash (hàm băm) tính toàn vẹn có được so sánh với giá trị asp-fallback-src hay không.