刚开始使用mvc 4我可以调整捆绑包

时间:2013-11-14 20:49:31

标签: jquery asp.net-mvc-4 bundle

我刚开始使用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,这会破坏bundle的目的所以我的问题是如何在JS包中包含最终的jquery文件?我似乎无法找到这些捆绑包的位置,我查看了Global.asax并且不在那里。

1 个答案:

答案 0 :(得分: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捆绑包)方法中,您可以在现有捆绑包中添加文件,或者根据需要创建自己的捆绑包:

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

在这里,您可以轻松地根据“〜/ bundles / yourNewBundleName”给出包的名称,并包含所需的所有文件,并在_Layout.cshtml或任何其他视图中引用它。通过引用它,您所包含的所有文件都将在那里提供。