脚本标记帮助程序生成指向主脚本文件或回退脚本文件的链接。 通常,主脚本文件托管在内容分发网络(CDN)上。
内容分发网络(CDN):
- 与通过 Web 应用托管资产相比,提供多种 性能优势。
- 不应将其作为该资产的唯一来源。 CDN 并不总是可用,因此应使用可靠的回退。 回退通常是托管 Web 应用的站点。
使用脚本标记帮助程序,可以指定脚本文件的 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 脚本。 脚本标记帮助程序呈现立即执行 asp-fallback-test 表达式的 JavaScript。 如果延迟加载 CDN 脚本,表达式将失败。
常用的 Script Tag Helper 属性
有关所有脚本标记帮助程序属性、特性和方法,请参阅 脚本标记帮助程序。
src
要使用的外部脚本的地址。
asp-append-version
当使用 true 值和 src 属性指定 asp-append-version 时,将生成唯一版本。
有关标记帮助程序为外部 wwwroot静态文件生成版本,请参阅 从多个位置提供文件
asp-fallback-src
在主脚本标记失败的情况下,要回退到的脚本标记的 URL。
asp-fallback-src-exclude
在主要脚本失败的情况下,JavaScript 脚本要从回退列表中排除的以逗号分隔的文件模式列表。 glob 模式相对于应用程序的 webroot 设置进行评估。 必须与 asp-fallback-src-include 配合使用。
asp-fallback-src-include
在主脚本失败时用于回退的 JavaScript 脚本的以逗号分隔的文件模式列表。 通配模式是相对于应用程序的 webroot 设置进行评估的。
asp-fallback-test
用于回退测试的主脚本中定义的脚本方法。 有关详细信息,请参阅 FallbackTestExpression。
asp-order
执行一组 ITagHelper 实例时,其 Init(TagHelperContext) 方法首先按指定顺序调用;然后按指定顺序调用其 ProcessAsync(TagHelperContext, TagHelperOutput) 方法。 数值较小的项会先执行。
asp-src-exclude
JavaScript 脚本要从加载中排除的以逗号分隔的文件模式列表。 glob 模式匹配相对于应用程序的 webroot 设置进行评估。 必须与 asp-src-include 配合使用。
asp-src-include
要加载的 JavaScript 脚本的通配符文件模式的逗号分隔列表。 glob 模式是相对于应用程序的 webroot 设置进行评估的。
asp-suppress-fallback-integrity
确定完整性哈希是否将与 asp-fallback-src 值进行比较的布尔值。
相关内容
- ASP.NET Core 中的标记帮助程序
- ASP.NET Core 中的区域
- Razor ASP.NET Core 中的页面体系结构和概念
- ASP.NET Core MVC 的 兼容性版本