我在Views中使用带有Razor语法的ASP.Net MVC。但由于对性能增强的研究很少,我发现View Engines需要花时间将razor代码编译为HTML。那么在使用Razor语法的Views中使用AngularJS是个好主意吗?如果这改善了性能,那么它的其他优缺点是什么?
提前致谢。
答案 0 :(得分:6)
哪种路线会给您带来更好的表现取决于几个因素。赞比亚关于 mvc.net 剃刀观点的答案并不准确。
mvc.net视图是在第一次被请求时编译的,之后只将数据插入到预编译视图中。与解析和渲染角度视图相比,这是一个更少处理器的操作。
但是,角度视图在客户端上呈现(浏览器)。如果由于某种原因,您的服务器不足以满足您的需求,那么如果使用 angular 构建,您的网站效果会更好。
另一方面,如果两个站点都使用足够大小的服务器构建,那么 mvc.net 往往会有更快的渲染时间,因为浏览器的工作量较小。
当然,例外情况是,如果您要构建一个网站,您希望通过视图而不是通过dom操作或小部件进行许多小的ui更改,那么再次 angular 获胜。
这就是为什么在使用 mvc.net 构建时,构建比 angular 更大更复杂的视图是有意义的,而不是你必须这样做。
最后,每种方法都可能被滥用和执行。每种方法也适用于特定的网站风格。
这两种方法也可以结合起来。在mvc.net中,可以使用布局页面将视图呈现为html片段。这意味着前端角度开发人员只需要担心静态视图和控制器,而mvc.net开发人员则关心服务器上的模型,动态视图和控制器。
祝你好运!