在 MEAN 堆栈中连接 Node 的方法

2025年3月17日 | 阅读 3 分钟

在之前的章节中,我们学习了 Angular 的基础知识。我们使用了表单、属性和事件绑定,创建了模型,并在项目中使用了它。我们还学习了项目结构和 Angular 组件。我们还了解了服务和可观察对象。

在接下来的几节中,我们将学习 NodeExpress。我们将学习如何连接 Node 并添加 Express 框架。我们还将在我们的项目中使用它们。因此,在本节中,我们将学习 模块 以及如何连接 NodeAngular

之前,我们使用过 ngServe,通常 ngServe 在后台使用 nodejs 服务器。ngServe 只为我们提供开发服务器。开发服务器意味着它是一个针对 Angular 开发的服务器。它不是一个生产就绪的服务器,并且它肯定不包含我们想要添加到服务器端的任何逻辑。ngServe 也没有为我们提供添加此类逻辑的入口点。

它只是一个返回 Angular 应用的服务器。它还具有有用的功能,例如在有新的 Angular 应用版本时自动重启。因此,ngServer 对于开发我们的 Angular 应用程序来说很好。我们不能将此服务器用作后端,因为我们需要理解一件事,即 Angular 和 Node 后端如何协同工作。

我们有两种连接 Node 和 Angular 后端的方法

1) 在第一种方法中,我们有一个 node 应用程序或一个 node express 应用程序,它服务于 Angular 单页面应用程序。它包含我们的其他服务器端逻辑,但它也有一个特定的路径,即一个 URL 终结点,我们可以向其发送请求,它将返回该 Angular 单页面应用程序。

我们有我们的 node express 后端,它处理传入的请求。它不仅仅是针对 Angular 应用的请求,还包括 Angular 应用发送的请求。这是因为 Angular 发送后台 http 请求来存储和获取数据。这些 http 请求需要由 node express 后端处理。

因此,我们有这方面的终结点,并且我们有一个特殊的终结点,即 /path。如果我们只是发送简单的请求,我们会返回 Angular 单页面应用程序来请求任何其他路径。

Ways of connecting Node in MEAN Stack

2) 另一种方法是,我们有两个单独的服务器,即第一个是我们的 node express 服务器,用于我们的业务逻辑、身份验证、数据存储,另一个是单独的静态主机,它只返回我们的 Angular 单页面应用程序。

我们仍然让我们的 node express 应用处理传入的请求,因为我们有这些 Angular 后台请求。但是,我们还需要从一个单独的 静态主机 提供我们的单页面应用程序。静态主机只是一个简单的服务器,它可以是任何服务器,如 node 服务器、Apache 和 Nginx 服务器。因此,它可以是任何不运行任何服务器端逻辑但只返回 htmlJavaScriptCSS 文件的服务器。

在两种情况下,我们都需要逻辑上分离的应用程序构建。因此,即使我们使用相同的 node 服务器来服务 Angular 应用并托管我们的核心业务逻辑,我们也拥有分离的应用程序,因为 Angular 处理 UI 并发送后台请求,而 node express 处理这些后台请求并对它们进行处理。

唯一的区别是,我们在第一种方法中获得了一个特殊的路由或特殊的路径,我们在其中返回 Angular 应用,但仅此而已,除此之外,没有严格的连接,因为我们构建的是一个具有我们的 node express 后端的 RESTful API。

在下一节中,我们将把我们的应用程序与 node 后端连接起来。


下一主题添加 Node 后端