关于ASP.NET 4.5的新System.Web.Optimization / Microsoft.AspNet.Web.Optimization:
谁能解释在使用使用BundleConfig.cs类文件,而不是到bundle.config xml文件捆绑资源的区别?
我已经看到了一些文章显示打捆在BundleConfig.cs两个js和css,而其他人展示捆绑在BundleConfig.cs JS和CSS在bundle.config。
我想我不明白#1),你为什么会不只是为了简单起见,做这两个一个特殊的方式 - 和#2)为什么会有人喜欢硬编码资源,例如,在一个类文件? 这似乎是一个更加动态的方法,只是把它们可在即时根据需要改变的XML文件。
这似乎是更多的文章实际上倾向于使用BundleConfig.cs比什么都瘦。 是否有鼓励这种某些特定的赞成或反对?
另外,如果没有对System.Web.Optimization任何真正的文件,我很想知道位置(因为我肯定找不到了)。
谢谢-
本文档解释这一切比我都做不到
http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification
其中一个最好的事情是这样的:
此外,捆扎框架如下几种常见的约定,如:
选择“.min”文件发布时“FileX.min.js”和“FileX.js”的存在。
选择调试非“.min”版本。 忽略“-vsdoc”的文件(如jQuery-1.7.1-vsdoc.js),其仅由智能感知使用。
据我所知道的,接受的答案实际上并没有回答这个问题的。 它讨论了捆绑框架的好处,但不知道如何使用BundleConfig.cs比使用bundle.config文件不同。
很多它归结为你的代码或标记是否喜欢工作,但每个确实有一些优点是特定于该方法。
对于bundle.config,有真的只有一个好处,但它是一个大的。 通过使用它,你可以在无需触摸代码在所有的管理包。 这意味着,你可以进行更改,无需重新编译,进行快速部署更加容易。 此外,它意味着你的前端开发,谁将会是最熟悉的应该被捆绑的文件,可以定义软件包,而不必与任何后端代码工作。
但是,有什么你可以在Bundle.config指定了不少限制。 举例来说,你不能指定要应用到个别项目或捆绑任何自定义转换。 你是可以设置的唯一捆绑的属性是Path
, CdnPath
和CdnFallbackExpression
。 你不能设置Orderer
或EnableFileExtensionReplacements
性能。 你没有办法,包括包括所有子目录的目录(如你可以跟IncludeDirectory
方法)。 基本上,有功能有很多是只能通过后端代码。 当然,有很多的这个,你可以通过使用后端代码来检索bundle.config定义的一个包,然后操纵设置。 但是,如果你要做到这一点,你不妨在创建后端的捆绑,也。
我个人的理念是,除非我需要做一些事情,这不是可能的方式捆绑使用bundle.config。 不过,我不同意,让他们都在同一个地方是理想的。 如果我决定我需要使用类的话,我会使用,对于所有我的那种类型的束(我有时会放在我的类JS束和我的CSS束在config文件,虽然)。 我敢肯定,一些完全合理的人会与该过程不同意,虽然。
谁能解释在使用使用BundleConfig.cs类文件,而不是到bundle.config xml文件捆绑资源的区别?
不同的是,你必须阅读,分析并在运行时加载bundle.config的内容。 因此,使用BundleConfig.cs类文件可以简单。
1)你为什么不只是做他们既简单一个特殊的方式
完全同意。
2)为什么会有人喜欢硬编码资源,例如,在一个类文件?
简单地说:很容易理解。
这似乎是一个更加动态的方法,只是把它们可在即时根据需要改变的XML文件。
是的,但你必须编写更多的代码时发生的变化来检测,然后添加/删除/替换现有的设置。 如果做得不好,就可能在运行时导致UI的问题。
另外,如果没有对System.Web.Optimization任何真正的文件,我很想知道位置(因为我肯定找不到了)。
上面已经回答了,但我要重申: http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification
文章来源: Bundling resources via bundle.config vs BundleConfig.cs in ASP.NET 4.5 WebForms