为什么有人想要使用Express而不是AngularJS?

42
我知道Express是在服务器上运行的,而Angular是在客户端上运行的。但据我所知,Angular可以做Express能够做的所有事情,包括:
  • 路由
  • 与数据库交互
貌似在使用Node.js来提供AngularJS app服务时需要使用Express,但我不确定。 那么为什么要将Express添加到AngularJS应用程序中有什么好处呢?

1
Express是服务器端,Angular是客户端。如果需要的话,两者都可以使用。您可以将其他服务器端框架与客户端的Angular混合使用。Angular从何时开始支持数据库交互? - soulcheck
2
更容易处理服务器端的路由是一个重要的优点,即使 Angular 可以处理它,你仍然需要设置一切来为 Angular 服务而不是服务器。然后还有从 Angular 进行的数据库调用的路由,使用 Express 也很有帮助。 - tymeJV
4个回答

42

有些事情应该在服务器端完成(即使用Express而不是Angular),尤其是用户输入验证-Angular作为客户端可能会被篡改。

此外,如果您想提供除Web应用程序以外的访问类型(即移动应用程序),那么您可能需要一个API-Express可以做到这一点,而Angular则不能。

最后,数据库访问-通常Angular应用程序需要连接到某种后端来执行CRUD操作。您可以选择像Firebase这样的托管数据库,或者您将需要使用自己的数据库。后者的情况更受欢迎,您将需要Express(或类似的东西)。


那么Node.js在哪里呢? - Alexander Zaldostanov

18

Express和AngularJS并不互相排斥,它们担当着不同的角色 - 实际上同时使用它们是可以的 - Express用于全部服务器端逻辑,而Angular用于客户端逻辑。


那么Node.js在哪里呢? - Alexander Zaldostanov
@AlexanderZaldostanov express是一个Node.js框架。希望你现在已经明白了,哈哈。 - ferran

14

Express可以用来托管AngularJS的服务/工厂需要使用的API。可以将AngularJS视为MVC,而在Express上的API则是SOA


2

有许多东西需要从服务器控制。这就是服务器端框架发挥作用的地方。

一个Web应用程序不仅仅是一些链接在一起的HTML页面。还需要实现很多其他的事情

  • 模型验证。
  • 保持模型一致。请记住,多个用户可以在任何时候访问同一个模型,甚至更改它。
  • 控制资源访问。
  • 触发工作流程。
  • 业务逻辑。

等等,这些都需要一个服务器框架。因此,如前所述,客户端框架(例如AngularJS)补充了服务器端框架。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接