javascript - 如何使应用程序能够与 Node 和 Express 一起使用?

标签 javascript node.js mongodb express

我正在寻求有关如何调整 Web 应用程序以与express/mongodb/node.js 一起使用的指导。免责声明: Node 新手、后端服务器开发等。

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

从我到目前为止的研究来看,设置一个简单的基于 Express 的服务器似乎相当简单,并且我找到了几个 hello-world 教程来做到这一点,但大多数教程似乎都是关于从以下位置启动一个新应用程序:从头开始,我想知道如何处理我现有的所有 javascript 代码...所以我的问题是这样...我应该吗

  1. 保留客户端代码不变,并设置一个简单的服务器端 Node 实现,仅与数据库通信
  2. 设置服务器端 Node 实现,将所有 JavaScript 移至服务器并使用某种模板向浏览器提供内容。
  3. 我完全没有捕获要点,而且有一种更好的方法来做到这一点

优点和缺点都很好 预先感谢,新手请轻松一点!!

最佳答案

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

您还可以将所有 HTML 移动到 Node 服务器。提供 HTML,然后从这些页面调用其余 API 就很好了,就好像您将它们留在了 Web 服务器上一样。最后要做的事情是用与 Node 一起使用的 jade 或 ejs 等模板语言重写页面,但这仅当您需要在服务器上动态格式化页面时才需要 - 也就是说,您正在构建部件页面的更新取决于数据库中的信息,例如会改变页面外观的客户信息。

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

关于javascript - 如何使应用程序能够与 Node 和 Express 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28638980/

相关文章:

node.js - 如何在nodejs中将多个文件转换为zip?

c# - MongoDB C# 驱动程序 : API vs Linq Performance

java - 在 Mongodb 中使用 View 的性能优势/劣势

ruby - 如何使用 MongoMapper 以随机顺序获取文档?

javascript - 修补 Element.prototype.addEventListener 会破坏任何 Angular 2 应用程序

javascript - CodeIgniter - 使用 setInterval 自动从数据库获取数据

javascript - 如何将悬停规则添加到 css className 以便在悬停时为 react 表中的特定行着色?

javascript - Puppeteer page.click(selector) 不响应 IFrame

javascript - 在对象的 toJSON *之前*调用替换器?

javascript - sprockets//=require 和 browserify-rails require() 之间的区别?