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> 元素的 属性来延迟加载 CDN 脚本。 脚本标记帮助程序呈现能够立即执行 asp-fallback-test 表达式的 JavaScript。 如果延迟加载 CDN 脚本,则该表达式失败。

常用的脚本标记帮助程序属性

若要了解所有脚本标记帮助程序属性和方法,请参阅标记帮助程序

src

要使用的外部脚本的地址。

asp-append-version

使用 true 值和 src 属性指定 asp-append-version 时,会生成唯一版本。

如需在 wwwroot 外部生成静态文件的版本的标记帮助程序,请参阅从多个位置提供文件

asp-fallback-src

主 URL 失效后要回退到的脚本标签的 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 值进行比较。

其他资源