繁体   English   中英

列出数据库中的数据-在服务器端使用angularjs或在服务器端使用Jade生成[关闭]

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM