我知道Express是在服务器上运行的,而Angular是在客户端上运行的。但据我所知,Angular可以做Express能够做的所有事情,包括:
- 路由
- 与数据库交互
有些事情应该在服务器端完成(即使用Express而不是Angular),尤其是用户输入验证-Angular作为客户端可能会被篡改。
此外,如果您想提供除Web应用程序以外的访问类型(即移动应用程序),那么您可能需要一个API-Express可以做到这一点,而Angular则不能。
最后,数据库访问-通常Angular应用程序需要连接到某种后端来执行CRUD操作。您可以选择像Firebase这样的托管数据库,或者您将需要使用自己的数据库。后者的情况更受欢迎,您将需要Express(或类似的东西)。
Express和AngularJS并不互相排斥,它们担当着不同的角色 - 实际上同时使用它们是可以的 - Express用于全部服务器端逻辑,而Angular用于客户端逻辑。
Express可以用来托管AngularJS的服务/工厂需要使用的API。可以将AngularJS视为MVC
,而在Express上的API则是SOA
。
有许多东西需要从服务器控制。这就是服务器端框架发挥作用的地方。
一个Web应用程序不仅仅是一些链接在一起的HTML页面。还需要实现很多其他的事情
等等,这些都需要一个服务器框架。因此,如前所述,客户端框架(例如AngularJS)补充了服务器端框架。