Подтвердить что ты не робот

Пакеты кассет и пучков MVC4

В настоящее время я работаю над прототипом решения ASP.NET MVC 3, которое будет использоваться в качестве базы для нескольких перезаписываемых проектов (из веб-форм).

Одна из целей, которые у меня есть, - реализовать некоторое управление script в приложении, в отличие от тех, которые у нас есть.

MVC 3 имеет дефект IMHO: если вам нужен конкретный script, указанный на частичном представлении или представлении шаблона - вы можете потерять контроль над тем, где блок script находится в визуализированном HTML или должен указать каждый зависимый файл javascript на родительском представлении.

Я серьезно рассматриваю возможность использования http://getcassette.net/ в качестве основы для решения описанной проблемы. Однако последний выпуск бета-версии MVC4 снова заставил меня снова сомневаться: MVC Bundles выглядит очень похоже на Cassette Bundles, и я снова запутался:

  • Нужно ли использовать кассету сейчас и переносить на пакеты MVC4?

  • Должен ли я реализовать некоторый упрощенный менеджер script сам (вспомогательный класс типа scripts в предварительном просмотре MVC4), а затем перейти к MVC4

  • Или мне нужно интегрировать кассету в проект и надеяться, что она будет более надежной, чем MVC-imlementation (мне действительно не нравится эта опция прямо сейчас из-за наличия большого количества кассет зависимостей).

У меня нет опыта работы с самой Кассеткой, и мне очень сложно сделать сравнение, и я бы оценил любые ответы или подсказки.

EDIT: Я просто подумал, что есть еще один вариант: установка пакета beta nuget для комплектации MVC: https://nuget.org/packages/Microsoft.Web.Optimization

ВЫВОД: Чем больше я смотрю на реализацию пакета MVC4, тем большую разницу я замечаю: пакеты MVC4 не адресуют проблему MVC3, описанную выше, - они просто связывают и минимизируют. Кроме того, кассета не только способна отображать теги script в определенном месте, но также способна упорядочить их в правильном порядке, что не является тривиальным. Поэтому на данный момент я не удовлетворен ни одним из решений, и я попытаюсь придумать свою минималистичную реализацию, надеясь, что ситуация улучшится в будущем.

Но если вы не боитесь добавлять в свой проект 5 + и связывать изменения web.config, переходите на кассету. Я надеюсь, что в какой-то момент он будет обновлен, чтобы использовать объединение MVC внутри, чтобы уменьшить дублирование функций, и, надеюсь, станет более модульным.


UPDATE: Начиная с версии 2.0 Cassette больше не нужно включать кофе script и другие функции кассеты, если вам просто нужны пакеты и js-разрешение зависимостей. Итак, на данный момент Кассетт явный победитель для меня.

4b9b3361

Ответ 1

Информация об объединении ASP.NET MVC находится здесь: http://weblogs.asp.net/scottgu/archive/2011/11/27/new-bundling-and-minification-support-asp-net-4-5-series.aspx.

ASP.NET добавляет функцию, которая упрощает "расслоение" или "объединить" несколько файлов CSS и JavaScript в меньшее количество HTTP-запросов. Это заставляет браузер запрашивать намного меньше файлов и, в свою очередь, сокращает время, необходимое для их получения.

В следующей версии ASP.NET также добавлена ​​новая функция, которая делает это легко уменьшить или "уменьшить" размер загружаемого содержимого.

Похоже, это похоже на кассету. При прочих равных условиях используйте решение, которое является родным для ASP.NET MVC.

Ответ 2

В конечном итоге я использовал Cassette в своем последнем проекте, и он работает очень хорошо. На самом деле не очень много настроек, если вы используете NuGet, поэтому я думаю, что было бы не слишком сложно использовать Cassette, а затем переключиться позже, если вы захотите.

Еще одна вещь, которую следует учитывать, - это то, что Cassette делает компиляцию меньше. Я не уверен, что слияние MVC4 делает это или нет, так как я не успел его прочитать.

Ответ 3

Кассета по-прежнему интересная альтернатива, поскольку она имеет встроенную поддержку для меньшего количества и coffescript. Он также поддерживает HTML-шаблоны, если вас интересуют рамки mvc на стороне клиента (магистраль, нокаут и т.д.).

Ответ 4

Так же, как обновление для этого, в пакете обновления 2 для Visual Studio 2012 добавлена ​​поддержка LESS и CoffeeScript, поэтому она начинает выглядеть все более и более, так как было бы лучше добавить, какие преобразования вам нужны для собственной реализации Bundling/Minification, поддерживаемые в MVC4, чем в Cassette в долгосрочной перспективе.