如何在 asp.net mvc 4.5 中预加载包

问题描述

我正在使用以下代码将包添加到我的布局中。

@Scripts.Render("~/bundles/ngapp")

我还想预加载我们的 Bundle,但我不知道部署后将呈现的确切名称查询字符串版本。 如何将这段代码更改为如下所示:

  <link rel="preload" href="@Scripts.BundleName("~/bundles/ngapp")" as="script">
@Scripts.Render("~/bundles/ngapp")

解决方法

我认为有多种方法可以做到这一点。

您可以使用“ResolveBundleUrl”:

<link rel="preload" href="@(BundleTable.Bundles.ResolveBundleUrl("~/bundles/scripts"))" as="script">

或者您可以使用“Scripts.RenderFormat”:

@Scripts.RenderFormat("<link rel='preload' href='{0}' as='script'>","~/bundles/scripts")