Как добавить пользовательские CSS / JS в проект MVC4 для минимизации? - PullRequest
6 голосов
/ 27 февраля 2012

Как добавить отдельные файлы CSS / JS на страницу через API-интерфейс минимизации?

Ответы [ 4 ]

8 голосов
/ 24 ноября 2012

Если вы просто хотите добавить свои собственные, не связанные друг с другом сценарии и использовать вызовы jquery в приложении MVC 4, которое использует минимизацию и пакетирование для включения стандартных библиотек, вот простой способ сделать это:

По умолчанию _Layout.chtml включает в себя jquery, а затем вызывает

@RenderSection("scripts", required: false) 

Чтобы добавить свои собственные сценарии, использующие jquery, на страницу, вы можете добавить содержимое для раздела, как этот (на ваш взгляд):

@section scripts {
    // At this point jquery is available. Include your own scripts here
}
1 голос
/ 27 февраля 2012

Насколько я понимаю, вы можете настроить отдельные пакеты, которые состоят из разных файлов. Затем вы можете включить эти пакеты в определенные страницы. Информация об этом здесь . Я думаю, что то, что вы ищете, описано в разделе «Пользовательские правила».

Вы спрашивали, как это сделать с контроллера. Я не думаю, что есть возможность для этого. После прочтения поста создается впечатление, что вы настраиваете пользовательские пакеты в global.asax, а затем ссылаетесь на этот пользовательский пакет в каждом представлении, частью которого вы хотите, чтобы он был.

Например, в вашем globabl.asax вы можете сделать это:

var b = new Bundle("~/CustomBundle", new JsMinify());
b.AddFile("~/scripts/knockout.js");
BundleTable.Bundles.Add(b);

Тогда, по вашему мнению, вы можете сделать это:

<script src="@Url.Content("~/CustomBundle")" type="text/javascript"></script>

Я попробовал это, и, похоже, все работает отлично.

Другая возможность - использовать Кассета . В настоящий момент он выглядит немного более продвинутым, хотя это может измениться после выхода MVC 4.

1 голос
/ 28 февраля 2012

Не слишком похоже на продавца, но вы также можете посмотреть на RequestReduce . Вам на самом деле не нужно создавать или объявлять пакеты, вместо того, чтобы js и css, которые у вас уже есть на вашей странице, автоматически связывались и минимизировались. Одним из преимуществ здесь является то, что если разные страницы имеют разные комбинации js и css, каждая уникальная комбинация превращается в «связку» с помощью RequestReduce, но вам не нужно управлять ею. Все кэшируется, поэтому не нужно беспокоиться о стоимости выполнения во время выполнения.

0 голосов
/ 27 февраля 2012

В блоге Скотта Гатри есть видео о том, как настроить минификацию в mvc4.Это много хорошей информации.

ASP.NET MVC 4 Beta

...