1

我刚刚启动 mvc4,在_layout上我看到了 2 个新元素

  <link href="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/Content/css")" rel="stylesheet" type="text/css" />
    <script src="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/Scripts/js")"></script>

正如我所读到的,这些捆绑包用于将所有内容一起加载从而节省时间,我经常使用 jquery,所以我修改了我的_layout以便标题现在看起来像这样

<link href="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/Content/css")" rel="stylesheet" type="text/css" />
    <script src="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/Scripts/js")"></script>

<script src="@Url.Content("~/Scripts/jquery-1.8.2.min.js")" type="text/javascript">

为了允许 Jquery,这违背了捆绑的目的,所以我的问题是如何将最终的 jquery 文件包含在 JS 捆绑中?我似乎无法找到那些捆绑包在哪里,我查看了 Global.asax 里面并没有。

4

1 回答 1

4

在 ASP.NET MVC4 中,如果您遵循默认项目模板,则有两个地方与捆绑工具有关:

在 Global.asax.cs 中,您在 Application_Start 方法中注册您的捆绑包:

   protected void Application_Start()
   { 
    ......
    BundleConfig.RegisterBundles(BundleTable.Bundles);        
   }

现在在 App_Start 文件夹中你有 BundleConfig.cs 文件。在此文件中,默认情况下有一些由模板创建的 css 和 js 包。在 RegisterBundles(BundleCollection bundles) 方法中,您可以将文件添加到现有捆绑包中,或者完全按照您的需要创建自己的捆绑包:

     public static void RegisterBundles(BundleCollection bundles)
     {
       bundles.Add(new ScriptBundle("~/bundles/yourNewBundleName").Include(
                            "~/Scripts/yourFile1",
                                 "~/Scripts/ yourFile2"));
     }

在这里,而不是“~/bundles/yourNewBundleName”,您可以根据自己的喜好给出包的名称,并包括所有需要的文件,并在 _Layout.cshtml 或任何其他视图中引用它。通过引用它,您包含的所有文件都将在那里可用。

于 2013-11-15T04:01:06.030 回答