【问题标题】:Angular 2 or NodeJs / Express for large project [closed]大型项目的 Angular 2 或 NodeJs / Express [关闭]
【发布时间】:2017-10-06 04:31:13
【问题描述】:

我不确定 Angular 2 与 NodeJs/Express 的关系如何。 Angular 和 Node 可以一起工作,还是只能将其中一个用于 Web 项目?

【问题讨论】:

  • Angular 和 Node 可以很好地协同工作。它们是不同的东西,Angular -> 前端(客户端),NodeJS -> 后端(服务器)
  • 我觉得你很困惑。 Angular 是一个前端框架。 Node/Express 是后端框架。他们一起工作得很好。它们根本不冲突。
  • NodeJs 也是在服务器端工作的 Javascript,但 Angular 2 也可以......它使用 Nodejs 来做到这一点吗?
  • @Satch3000 不,它不能。
  • 大家都已经回答了,是的,他们确实是不一样的。将 Angular 与 Node 结合使用的优点首先是您将在前端和后端使用相同的语言,这样会更容易一些。其次,Angular js 是对 Node Js 的补充(Express Js 又是一个框架,通常用于 node.js 的中间件功能)。简而言之,继续使用 Express with Angular - 如果它适合您的工作。请阅读 node.js 的优点。

标签: angularjs node.js express


【解决方案1】:

Angular 让您无需 Node.js 即可构建完整的 Web 应用程序

但是,如果没有 Node.js 和 express,您将需要整理一个 Web 服务器。如果您有偏好,可以使用 Apache、Nginx 或其他。

但是,如果您希望创建与前端通信的后端或 API,那么您可以引入 Node.js 并开发 API。但是,您可以为此使用其他框架或工具。

您还可以将一些 Node 模块与构建工具(例如 Grunt)结合使用来优化您的前端资产,例如 CSS、JS、图像等。这将允许您更好地控制在之后提供给客户端的静态资产的状况构建完成。

总而言之,您可以使用 Angular 构建一个完整的 Web 应用程序,而无需使用 Node.js,但 Node 将允许您对项目资产拥有更多控制权,并且如果您愿意,您可以创建一个单独的应用程序来支持您的前端-结束。

【讨论】:

    【解决方案2】:

    不,Angular 和 node 是不同的 Angular 是一个非常强大的前端框架,可以让您在客户端使用 MVC 结构,而 Node.js 是在服务器端实现 Javascript,让您可以创建“活动”服务器(使用 Node,您可以执行异步任务,它不仅仅是用脚本生成网页。例如,用websocket很好,这是你在PHP中做不到的)。

    但是,对于 Web 应用程序来说,它是一个很好的解决方案,因为两者都使用 Javascript,并且使用原生 Json 来处理请求。

    但目前,我正在客户端使用 angular2 的 PHP 项目。由于 MVC 结构,它比 jQuery 或其他框架要好,但是当你与 PHP 一起使用它时,你必须做出一些安排(例如,当你发送一个带有 angular 的 POST 请求时,数据是用 JSON 编码的,这是 PHP不明白:所以我在客户端使用了一个将 JSON 对象转换为简单 urlEncoded 字符串的函数...)

    希望我回答了你的问题,

    文森特

    【讨论】:

    • PHP 和 json
    • 是的,但对我来说,解析 POST 请求比较困难(使用 UrlEncoded,这很简单,您只需使用 $_POST 和 filter_input,但使用 JSON 时,您必须使用 $HTTP_RAW_POST_DATA,然后用 json_decode 解析它,然后验证它...)
    【解决方案3】:

    Angular 2 用于前端代码,Node“通常”用于后端。

    然而,节点可用于为前端提供服务。 (大多数人要么不知道这一点,要么忘记它)。有些人还使用 Node 作为任务运行器来缩小客户端代码、预处理客户端代码等

    例如,您可以使用 node 将 LESS 或 SASS 或 STYLUS 文件即时转换为 CSS 文件,然后将 CSS 文件提供给您的浏览器。

    实时重新加载对 CSS 或代码更改进行实时更新,而无需刷新浏览器。

    任务运行器可以自动注入 Bower 脚本依赖项。 Grunt 和 Gulp 是流行的 Node 任务运行器,它们简化了提供客户端代码的这一过程。

    显然,在生产环境中您不会使用任务运行器。任务运行器用于开发目的或构建目的。

    我们正在使用 Node 的 Gulp 在开发环境中提供服务。我们也使用 Gulp 进行构建。但在生产中,我们通过 NGINX 提供静态构建生成的文件。

    所有这一切的缺点是建立良好的管道需要付出大量的努力。

    【讨论】:

      猜你喜欢
      • 2016-07-01
      • 1970-01-01
      • 2016-09-09
      • 2016-07-09
      • 1970-01-01
      • 2016-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多