[英]Listing data from database - use angularjs with API or generate using Jade on server-side [closed]
我正在创建一个Node.js Web应用程序,不确定是否要使用AngularJS(或其他客户端模板引擎,例如Ember或Backbone)显示数据库中的数据或在服务器端生成页面(与玉),然后将其发送。 与另一种方法相比,使用一种方法有明显的好处吗?
Angular确实增加了一层额外的复杂性,但是与此同时,我担心在服务器端生成页面时涉及的性能损失。
您必须同时使用jade和angularjs。 是的,玉在服务器端渲染页面,在客户端渲染角度。 两者都使用的原因是渲染索引视图或第一个着陆视图,其中应使用jade渲染包含角度ui-view
指令以及应用程序js或css文件ui-view
。 之后,角度将照顾所有其他路线。
extends layout
block base
base(href="#{base_url}")
block content
#Main(ng-app="your-angaulr-app")
div(ui-view)
p Load App Here
var bootstrap = !{JSON.stringify(bootstrap)};
script(src="/bower_components/jquery/dist/jquery.min.js")
script(src="/bower_components/jquery-ui/jquery-ui.min.js")
script(src="/bower_components/angular/angular.min.js")
script(src="/bower_components/angular-ui-router/release/angular-ui-router.min.js")
script(src="/bower_components/angular-resource/angular-resource.min.js")
script(src="/js/build/application.js")
script(src="/js/build/admin-templates.js")
这是您应该从玉渲染的index.jade文件,该角度将完成他的工作。
如果只需要显示数据库中的一些数据,那么最好使用服务器端代码。 否则,用户必须等待两个HTTP Get操作完成才能看到任何结果。 第一个加载带有JS文件的空页面,第二个获取数据。 更不用说所有需要加载到浏览器的.js文件,以及必须编写的其他代码。
但是,如果需要更新数据而不刷新整个页面(通过用户交互或来自服务器的更新),则应查看客户端代码和框架。 Angular允许您在客户端实现MVC模式,这有很多好处,但是正如您所说的那样,这似乎也增加了一些复杂性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.