ASP.NET Core 中的脚本标记帮助程序

作者:Rick Anderson

脚本标记帮助程序生成指向主脚本文件或回退脚本文件的链接。 通常,主脚本文件位于 内容分发网络 (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属性指定truesrc,将生成唯一版本。

有关标记帮助程序为外部 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 值进行比较的布尔值。

其他资源