脚本标记帮助程序生成指向主脚本文件或回退脚本文件的链接。 通常,主脚本文件位于 内容分发网络 (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 脚本,表达式将失败。
常用的脚本标记帮助程序属性
有关所有脚本标记帮助程序属性、属性和方法,请参阅 脚本标记帮助程序 。
src
要使用的外部脚本的地址。
asp-append-version
使用值和asp-append-version属性指定true时src,将生成唯一版本。
有关标记帮助程序为外部 wwwroot静态文件生成版本,请参阅 从多个位置提供文件
asp-fallback-src
在主标记失败的情况下,要回退到的脚本标记的 URL。
asp-fallback-src-exclude
在主要脚本失败的情况下,JavaScript 脚本要从回退列表中排除的以逗号分隔的文件模式列表。 glob 模式相对于应用程序的 webroot 设置进行评估。 必须与 asp-fallback-src-include..
asp-fallback-src-include
JavaScript 脚本在主脚本失败的情况下回退到的以逗号分隔的文件模式列表。 glob 模式相对于应用程序的 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 的 兼容性版本