nodejs 如何与 Angular 一起工作?它是api还是其他东西?

Posted

技术标签:

【中文标题】nodejs 如何与 Angular 一起工作?它是api还是其他东西?【英文标题】:How nodejs work with Angular ? Is it api or something different? 【发布时间】:2020-02-27 17:41:17 【问题描述】:

我已经在谷歌上搜索了一个问题,但没有找到好的答案。 nodejs 和 ExpressJS 在平均堆栈开发中的工作是什么?就像创建 api 和 angular 之类的东西会调用它吗?或者别的什么

【问题讨论】:

Node.js 是平台,express.js 是用于在 node.js 之上创建 Web 应用程序的框架。 Angular 是前端 Web 应用程序开发框架。 我们使用 express.js 创建 API,并将这些 API 在前端与 Angular 集成到 MEAN 堆栈中 【参考方案1】:

Angular 是一个用于构建单页应用程序的库,它(通常)在网络浏览器中运行。

Node.js 是一种在浏览器之外运行用 javascript 编写的软件的方式。它有许多用途。

为在 Node.js 下运行而编写的软件(与您所询问的主题严格相关)包括:

与 Angular 一起使用的构建工具(将代码以最适合开发人员编辑和调试的方式编写,以最适合在浏览器中交付和运行的方式编写)。 其他用于软件开发的辅助工具(例如 @angular/cli,它为 Angular 项目创建了一组代码框架) HTTP 服务器用于提供 Web 服务(一种 API)供客户端应用程序(可能用 Angular 编写)访问

Express.js 是 Node.js 的一个库,它为 HTTP 服务器需要执行的许多任务提供预先编写的解决方案。

您可以在 Node.js 中编写多种软件。我有一些代码潜伏在目录中的所有图像上循环并吐出它们的PDF。它甚至不靠近互联网。

【讨论】:

【参考方案2】:

是的,没错,就是这样。 NodeJs 用于创建服务器,然后 API 和 Angular 从前端调用这些 API。

详细说明:

什么是 NodeJs

您可以使用 NodeJs 创建一个服务器,您将拥有一堆 API。

可以从 Angular 应用调用这些 API。

Official Definition:Node.js 是在浏览器之外执行 JavaScript 代码的运行时环境。在浏览器之外意味着服务器。

什么是 ExpressJs

ExpressJS 是一个预构建的 NodeJS 框架,可以帮助您更快、更智能地创建服务器端 Web 应用程序。 注意:如果您使用的是 NodeJs,则不必使用 ExpressJs。

什么是 Angular

Angular 是一个用于构建单页应用程序 (SAP) web 的框架 应用程序。

SAP 意味着当您从一个页面移动到另一个页面时,您的站点不会重新加载该页面。

您的 Angular 应用调用 NodeJs API。

【讨论】:

【参考方案3】:

Angular 是创建 SPA(单页应用程序)的方式。

***:

单页应用程序 (SPA) 是一种 Web 应用程序或网站, 通过动态重写当前页面与用户交互 而不是从服务器加载整个新页面。

ExpressJS

什么是 Express.js。 Express 是一种快速、自信、必不可少且 适度的 Node.js 网络框架。您可以假设 express 作为一个层 建立在有助于管理服务器和路由的 Node.js 之上。 它提供了一组强大的功能来开发 Web 和移动应用程序。

因此,在 node-js 之上,这是您的服务器端应用程序,您可以在其中构建您的 Angular SPA 将使用的 API,您拥有 Express JS,这是一个可以帮助您的现成解决方案。 这样一来,您就不需要解决诸如路由之类的问题,这些问题已经由框架以“最佳”或至少普遍认为“足够好”的方式解决了。

在***here中有一个关于express js的优秀答案

【讨论】:

【参考方案4】:

你说得对,在 MEAN 堆栈中使用 Node.js 来创建后端代码和从前端 Angular 应用程序调用的 API。

【讨论】:

好的,因为我们通过 http 请求在 Angular 中调用 apis,这对于节点也是一样的吗?那么 express 的作用是什么? Express 基本上只是简化了 Node.js 的使用。这是一个建立在它之上的框架。

以上是关于nodejs 如何与 Angular 一起工作?它是api还是其他东西?的主要内容,如果未能解决你的问题,请参考以下文章

角度如何与 Ionic 应用程序中的节点一起工作?

使 Angular 路由与 Express 路由一起工作

后端如何与 Angular Web 应用程序多用户一起工作

寻找 Angular2 MEAN 堆栈 [关闭]

JavaScript NodeJS 如何将流/承诺与异步函数一起使用?

BreezeJS 可以与 MySQL + NodeJS + AngularJS 一起使用吗?