我应该通过节点应用程序中的restful api进行所有数据库调用吗
Should I make all database calls through a restful api in my node app?
我正在开发一个包含mongose、node、express、Jade和bootstrap的基本博客平台。当我最初加载帖子时,我可以在该端点进行数据库调用,并用帖子内容和评论填充我的Jade视图,或者在前端加载视图后,我可以从restful api中删除这些内容。我仍然需要一个用于发布评论和文章的api,当我在不同的端点对相同的对象进行一系列数据库操作时,我觉得我在混合各种担忧。然而,如果我用ajax完成所有工作,我也会在前端做一些棘手的事情,创建一堆dom元素来构建每个评论,而不是使用更整洁的Jade模板。无论哪种方式我都可以,但我正在努力找出什么是最佳实践。
从生成服务于Jade视图的端点中调用api端点有意义吗?这是一件事吗?或者有没有一种优雅的方法可以在客户端上生成一堆嵌套的dom元素?我尝试过使用一堆document.createElement和appendChild调用,这很有效,但看起来很荒谬,并将一系列html标记交给jquery,但我的理解是,jquery在后台使用innerHTML来创建元素,这并不理想。
我不太确定是否有人想看代码片段,或者你可能需要哪些,但给我一个hollar,如果你愿意,我会发布它们。
谢谢!
[为清晰起见进行编辑]
从性能和可扩展性的角度来看,从客户端到服务器的访问次数越少越好。我总是在我的Jade模板中发送尽可能多的数据,并且只使用额外的ajax调用来扩展提供给客户端的初始视图。。。比如"更多评论",比如当一篇文章的评论数量很大时,或者在移动视图中动态滚动博客文章的页面。
此外,如果页面上的大部分数据都是用HTTP请求而不是ajax调用填充的,那么搜索引擎优化(SEO(会做得更好,除非你打算使用第三方或自行开发的方法来缓存预渲染的页面。
- 当数据库中的某些内容发生变化时调用HTTP方法Meteor.js
- 我应该如何使用node.js和导出来调用mysql数据库
- 在Javascript中调用PHP数据库变量
- 为什么 Javascript 和 AJAX 调用(在页面加载时)会导致数据库行为空?(脸书画布)
- 从Javascript中调用PHP脚本,将数据插入mysql数据库
- 使用数据库查找在节点中导出大文件 - 避免多次数据库调用
- 如何使用 Node 从单个连接/事务进行多个数据库调用.js而且繁琐
- 执行get()解析查询结果并执行另一个数据库调用
- 试图理解Flux存储——所以如果状态保存在存储中,这也是我进行数据库调用的地方吗
- 如何使用javascript将数据从数据库调用到ionic框架(angularjs)的首页
- 如何在javascript中使用defer/promise进行数据库调用
- Node JS同步数据库调用
- 节点代理和异步数据库调用
- 如何使用javascript从数据库调用子菜单列表中选择项目
- 如何显示HTML模态,取决于Javascript/AJAX数据库调用的结果
- TypeError: undefined不是一个函数GET请求/数据库调用
- 当不同的函数需要从数据库调用数据时,如何避免使用全局变量.(JS)
- Rails 3的原型在一个带有数据库调用的表单中创建动态下拉框
- 数据库调用vs传递属性在ASP.. NET AJAX Web服务
- 我应该通过节点应用程序中的restful api进行所有数据库调用吗