Во многом это зависит от того, предпочитаете ли вы работать в коде или в разметке, но каждый из них имеет свои преимущества, характерные для этого метода.
Для bundle.config действительно есть только одно преимущество, но оно большое. Используя его, вы можете управлять пакетами, вообще не касаясь кода. Это означает, что вы можете вносить изменения без перекомпиляции, что упрощает быстрое развертывание. Кроме того, это означает, что ваш разработчик внешнего интерфейса, который лучше всего знаком с файлами, которые должны быть объединены, может определить пакеты без необходимости работать с каким-либо внутренним кодом.
Однако есть довольно много ограничений на то, что вы можете указать в Bundle.config. Например, вы не можете указать какие-либо пользовательские преобразования для применения к отдельным элементам или пакетам. Единственные свойства пакета, которые вы можете установить, это Path
, CdnPath
и CdnFallbackExpression
. Вы не можете установить свойства Orderer
или EnableFileExtensionReplacements
. У вас нет способа включить каталог, включая все подкаталоги (как вы можете с помощью метода IncludeDirectory
). По сути, существует МНОЖЕСТВО функций, которые доступны только через внутренний код. Конечно, многое из этого можно было бы настроить, используя внутренний код для извлечения пакета, который был определен в файле bundle.config, а затем манипулируя им. Но если вы собираетесь это сделать, вы также можете создать пакет в бэкэнде.
Моя личная философия заключается в использовании Bundle.config, если мне не нужно делать что-то с пакетом, что невозможно таким образом. Однако я уверен, что некоторые вполне разумные люди не согласятся с этим.
Что касается шаблона VS по умолчанию для проектов Web Forms, имеющего оба варианта, я предполагаю, что он просто демонстрирует доступность обоих вариантов, поскольку он не делает ничего в BundleConfig.cs, чего нельзя было бы сделать в Bundle.config.
person
Elezar
schedule
13.06.2014
Styles.Render
при обычном рендеринге. Тем не менее, он также поддерживает режим дизайна, так что стили будут применяться там правильно, тогда как сStyles.Render
их не будет. Поскольку для проектов MVC нет режима разработки, он там неприменим. Если вам не нужен режим разработки в проектах WebForms, вы можете переключиться наStyles.Render
, если хотите. - person Elezar   schedule 14.06.2014