当我们已经准备好后端时,为什么我们需要Express服务器

时间:2017-01-31 06:33:36

标签: javascript node.js reactjs express

我对javascript和web应用程序环境都很陌生。我见过一个反应式Web应用程序项目,它有一个公共目录,一个客户端目录和一个服务器目录。我有几个问题

  1. 如果我们已经准备好后端API并准备好后端服务器,为什么我们需要在前端项目中设置快速服务器文件

  2. 如果我们让前端响应并调用API来获取应用程序的数据,我们是否需要一个快速服务器?

  3. 后端服务器和前端项目中的快速服务器是否相同?

3 个答案:

答案 0 :(得分:5)

  

如果我们已经准备好后端API并准备好后端服务器,为什么我们需要在前端项目中设置快速服务器文件

你没有。

您需要一个HTTP服务器来监听并响应您从客户端代码发出的任何Ajax请求。

您需要一个HTTP服务器来监听和响应您的网页所需的HTML文档和静态资源(JS,CSS,图像等)的任何请求。

这些可以是相同的HTTP服务器,不同的HTTP服务器,使用Express编写或不使用Express编写。

React教程倾向于忽略提及这一点,并深入展示如何使用Express来实现一切。不要过多地阅读。

  

如果我们让前端响应并调用API来获取应用程序的数据,我们是否需要一个快速服务器。

没有。见上文。

  

前端项目中的后端服务器和快速服务器是否相同?

也许。它是由你决定。见上文。

答案 1 :(得分:3)

没有"后端服务器"和一个"前端服务器",一个简单的Web应用程序由两个主要部分组成:

1 /一个提供html页面的应用程序,它运行在后端,所以它通常被称为服务器,但现在典型的云服务器可以同时运行数百个不同的服务应用程序

2 /一个前端,通常是一个复杂的JavaScript软件和html页面,动态发送到用户浏览器并在本地执行

拥有工作网站所需的最低要求是服务器应用程序,它将根据用户请求返回一个或多个html页面。典型的React + Node项目组织如下:

  • 服务器目录:其中包含服务应用程序的所有代码 - 返回网页的代码,它还可以包含处理REST API的代码,以防客户端应用程序需要动态数据或服务器连接到数据库。请注意,网页服务器和API服务器可以是两个不同或更多的应用程序。

  • 您通常不希望向用户分享您的服务器代码,因此通常您有一个包含html页面的公共目录,这是磁盘上唯一的位置 - 理论上 - 可以由用户访问。此目录还可以包含网页所需的图像和资源,也称为静态资源

  • 为了使事情更有条理,前端应用程序的代码放在客户端目录中,但生产通常捆绑在一个或几个文件中,具体取决于应用程序的大小,也放在公共场所目录,因此它包含了为应用程序提供服务所需的一切。

希望有所帮助

答案 2 :(得分:0)

我们不需要Express服务器,添加它会带来很多好处:

  1. 它有助于向仅使用内存服务器(如果是这种情况)的angular / react应用程序添加压缩。

  2. 定义为项目提供静态文件的基本路径,还可以为每个请求添加gzip压缩标头,以便服务器返回压缩的版本。

  3. 帮助您将API调用解析为UI期望的正确格式,以便解析逻辑保留在Express Server中,而不是UI中。如果将来API响应发生更改,或者当最终的后端端点发生更改时,无需修改UI,但需要修改快递服务器中的路由,这很有用。

我在寻找如何向角度应用程序添加压缩时发现了这些以及其他好处(事实证明,如果没有express或实际的Web服务器,您将无法做到)