bus*_*hed 43 javascript asp.net asp.net-mvc asp.net-mvc-4 asp.net-optimization
我目前正在研究ASP.NET MVC 3原型解决方案,该解决方案将用作多个项目重写的基础(来自Web表单).
我的目标之一是跨应用程序实现一些脚本管理,而不是我们现在拥有的任何脚本管理.
MVC 3有一个缺陷恕我直言:如果您需要在部分视图或模板视图上指定特定脚本 - 您可能最终要么失去对呈现HTML中脚本块所在位置的控制,要么必须在父视图上指定每个依赖的javascript文件.
我一直在认真考虑使用http://getcassette.net/作为解决所述问题的框架.然而,MVC4 beta的最新版本让我再次怀疑自己:MVC的Bundles看起来与Cassette的Bundles非常相似,我又感到困惑:
我现在应该实现盒式磁带而不是迁移到MVC4捆绑包吗?
我应该自己实现一些简化的脚本管理器(比如MVC4预览中的Scripts helper类)然后迁移到MVC4
或者我应该将盒式磁带集成到项目中,并希望它比MVC的实现更具有前瞻性(我现在真的不喜欢这个选项,仅仅因为盒式磁带附带了大量的依赖性).
我没有Cassette本身的经验,发现很难自己进行比较,并且会欣赏任何答案或提示.
编辑: 我只是想到还有另一种选择:为MVC捆绑安装beta nuget包:https://nuget.org/packages/Microsoft.Web.Optimization
结论: 我对MVC4捆绑实现的看法越多,我注意到的差异越大:MVC4捆绑包不能解决上面描述的MVC3问题 - 它们只是捆绑和缩小.此外,盒式磁带不仅能够在特定位置呈现脚本标签,而且还能够以正确的顺序对它们进行排序,这不是一件容易的事.所以目前我对这两种解决方案都不满意,我会尝试提出自己的简约实施,希望将来情况有所改善.
但是,如果你不害怕在你的项目中添加5个以上的依赖项和一堆web.config更改 - 去卡带.我希望它会在某些时候更新,以利用内部的MVC捆绑来减少功能重复,并且希望将变得更加模块化.
更新: 从Cassette 2.0版开始,如果你只需要捆绑和js依赖解析,就不再需要包含咖啡脚本和Cassette的其他功能.所以在这一点上,卡塞特对我来说是一个明显的赢家.
Rob*_*vey 10
有关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的下一个版本还添加了一项新功能,可以轻松减少或"缩小"内容的下载大小.
看起来它与Cassette基本相同.在所有其他条件相同的情况下,使用ASP.NET MVC本机的解决方案.
我最后在上一个项目中使用了Cassette,它运行得很好.如果你使用NuGet,它真的没有很多配置,所以我的想法是现在使用Cassette然后如果你想要切换后不太难.
另一件需要考虑的事情是Cassette进行Less编译.我不确定MVC4捆绑是否会这样做,因为我没有时间阅读它.
| 归档时间: |
|
| 查看次数: |
7588 次 |
| 最近记录: |