nii*_*ico 3 asp.net webforms asp.net-4.5
我创建了一个新的 ASP.NET 4.5.1 Web 表单项目。
我以前在 MVC 4 中使用过捆绑和缩小。
为什么根目录中有一个 bundle.config 文件 - App_Start 中有一个 BundleConfig.cs 文件 - 它们似乎都列出了要捆绑的文件?
每个是什么,为什么他们似乎做同样的事情?
这个问题在这里被问到但没有真正回答(即使它被标记为这样): Bundling resources via bundle.config vs BundleConfig.cs in ASP.NET 4.5 WebForms
很大程度上取决于您更喜欢使用代码还是标记工作,但每种方法都有一些特定于该方法的优点。
对于 bundle.config,实际上只有一个好处,但它是一个很大的好处。通过使用它,您可以管理包,而无需接触代码。这意味着您无需重新编译即可进行更改,从而更轻松地进行快速部署。此外,这意味着最熟悉应该捆绑的文件的前端开发人员可以定义捆绑包,而无需使用任何后端代码。
但是,您可以在 Bundle.config 中指定的内容有很多限制。例如,您不能指定要应用于单个项目或捆绑包的任何自定义转换。你是能够设置只包属性是Path,CdnPath和CdnFallbackExpression。您不能设置Orderer或EnableFileExtensionReplacements属性。您无法包含包含所有子目录的目录(就像使用该IncludeDirectory方法一样)。基本上,有很多功能只能通过后端代码使用。当然,您可以通过使用后端代码检索在 bundle.config 中定义的包,然后进行操作来设置其中的很多。但是如果你打算这样做,你也可以在后端创建包。
我个人的理念是使用 Bundle.config,除非我需要对 bundle 做一些不可能的事情。但是我相信一些完全合理的人会不同意这一点。
至于 Web 窗体项目的默认 VS 模板同时具有这两个选项,我猜这只是为了证明这两个选项都可用,因为它在 BundleConfig.cs 中没有做任何在 Bundle.config 中也不能做的事情。
| 归档时间: |
|
| 查看次数: |
3849 次 |
| 最近记录: |