только что запустил mvc 4, где я могу настроить пакеты

Я только что запустил 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">

to allow Jquery, this defeats the purpose of the bundle so my question is how can I include that final jquery file inside the JS bundle ? I can't seem to find where those bundles would be, I looked inside Global.asax and was not there.


person user1949387    schedule 14.11.2013    source источник
comment
app_start bundleconfig.cs   -  person Matt Bodily    schedule 15.11.2013
comment
Прочтите это asp.net/mvc/tutorials/mvc-4/ связывание и минификация   -  person PSL    schedule 15.11.2013


Ответы (1)


В 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 или любых других представлениях. Ссылаясь на него, все файлы, которые вы включили, будут доступны там.

person Snesh    schedule 15.11.2013