如何使应用程序适应节点和表达?

时间:2015-02-20 22:01:24

标签: javascript node.js mongodb express

我正在考虑如何调整网络应用程序以使用express / mongodb / node.js免责声明:新手到节点,后端服务器开发等。

我有一个网络应用程序,它包含一个单独的html页面,一些css和相当数量的javascript。显然,在这个阶段,一切都从浏览器运行客户端,这很好......但现在我正处于需要建立一些服务器端功能的阶段,如用户帐户控制,文件上传和存储等。我熟悉javascript,Node对我来说是一个明显的选择。

从我到目前为止的研究来看,设置一个简单的基于表达式的服务器似乎相当简单,我发现了几个hello-world教程就可以做到这一点,但是这些教程中的大多数似乎都是关于从从头开始,我想知道如何处理我现有的所有javascript代码...所以我的问题是这个......我应该

  1. 保留客户端代码,并设置一个简单的服务器端节点实现,只与数据库对话
  2. 设置服务器端节点实现,将我的所有javascript移动到服务器并使用某种模板将内容提供给浏览器。
  3. 我完全忽视了这一点,并且有更好的方法来做到这一点
  4. 利弊会很棒 提前谢谢,轻松一下新手!!

1 个答案:

答案 0 :(得分:1)

这取决于您的应用程序的功能,以及您计划使用数据库的目的。最简单的答案是,您保持当前服务器的设置,并使用具有REST apis的express设置节点服务器。您可以从页面调用这些API,可能使用jquery中的ajax。发送呼叫,在返回时解析页面中的数据,并使用从数据库接收的信息更新页面内容,无论是检索要显示的信息,还是将信息写入数据库,只显示完成或错误消息。

您还可以将所有HTML移动到节点服务器。提供HTML非常好,然后从这些页面调用您的其他API,就像您将它们留在Web服务器上一样。最后要做的事情是使用像节点这样的模板化语言(如jade或ejs)重写页面,但只有在需要在服务器上动态格式化页面时才需要这样做 - 也就是说,你需要这样做根据数据库中的信息构建部分页面,例如可能会改变页面外观的客户信息。

从响应时间的角度来看,通常更经济,在浏览器中使用javascript更新页面,并且只更改需要使用从服务器检索的少量数据进行更改的内容,而不是重建每当有人更新某些内容时,服务器上的整个页面。有时它会混合 - 您在服务器上格式化基页,然后在浏览器中使用从页面生命周期内检索到的数据进行更改。