ASP.NET Core 的指令碼標籤協助程式
指令碼標籤協助程式產生主要或後援指令檔的連結。 通常情況下,主要指令檔是在內容傳遞網路 (CDN) 上。
CDN:
- 與透過 Web 應用程式裝載資產相比,有多種效能優勢。
- 不應依賴作為資產的唯一來源。 CDN 不一定可供使用,因此應該使用可靠的後援。 後援通常應該是裝載 Web 應用程式的網站。
指令碼標籤協助程式可讓您指定指令檔的 CDN,還可以指定在 CDN 無法使用的情況下的後援 CDN。 指令碼標籤協助程式具備本機裝載的健全性,因此提供了 CDN 的效能優勢。
下列 Razor 標記顯示具有後援的 script
元素:
<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>
請勿使用 <script>
元素的 defer 屬性來延遲載入 CDN 指令碼。 指令碼標籤協助程式會轉譯 JavaScript,以立即執行 asp-fallback-test 運算式。 如果 CDN 指令碼延遲載入,此運算式就會失敗。
常用的指令碼標籤協助程式屬性
如需所有指令碼標籤協助程式屬性、屬性和方法,請參閱指令碼標籤協助程式。
src
要使用的外部指令碼的位址。
asp-append-version
使用 true
值以及 src
屬性指定 asp-append-version
時,會產生唯一的版本。
若要讓標籤協助程式在 wwwroot
外部產生靜態檔案的版本,請參閱從多個位置提供檔案
asp-fallback-src
在主要指令碼標籤失敗的情況下,要作為後援的指令碼標籤 URL。
asp-fallback-src-exclude
在主要指令碼失敗的情況下,要從後援清單中排除的 JavaScript 指令碼的 Glob 檔案模式逗號分隔清單。 Glob 模式會相對於應用程式的 webroot
設定進行評估。 必須與 asp-fallback-src-include
搭配使用。
asp-fallback-src-include
在主要指令碼失敗的情況下,要作為後援的 JavaScript 指令碼的 Glob 檔案模式逗號分隔清單。 Glob 模式會相對於應用程式的 webroot
設定進行評估。
asp-fallback-test
用於後援測試的主要指令碼中定義的指令碼方法。 如需詳細資訊,請參閱FallbackTestExpression。
asp-order
執行一組 ITagHelper
執行個體時,會先以指定順序叫用其 Init(TagHelperContext)
方法,然後會依指定順序叫用其 ProcessAsync(TagHelperContext, TagHelperOutput)
方法。 先執行較低的值。
asp-src-exclude
要從載入中排除的 JavaScript 指令碼的 Glob 檔案模式逗號分隔清單。 Glob 模式會相對於應用程式的 webroot
設定進行評估。 必須與 asp-src-include
搭配使用。
asp-src-include
要載入的 JavaScript 指令碼的 Glob 檔案模式逗號分隔清單。 Glob 模式會相對於應用程式的 webroot
設定進行評估。
asp-suppress-fallback-integrity
布林值,判斷完整性雜湊是否會與 asp-fallback-src 值進行比較。
其他資源
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應