为啥要使用 Express 而不是 AngularJS?
Posted
技术标签:
【中文标题】为啥要使用 Express 而不是 AngularJS?【英文标题】:Why would one want to use Express instead of AngularJS?为什么要使用 Express 而不是 AngularJS? 【发布时间】:2013-09-13 01:35:11 【问题描述】:我知道 Express 驻留在服务器上,而 Angular 驻留在客户端上,但据我所知,Angular 可以做 Express 可以做的所有事情
路由 与数据库交互看起来可能需要 Express 才能让 Node.js 为 AngularJS 应用程序提供服务,但我不确定。
那么将 Express 添加到 AngularJS 应用程序有什么好处?
【问题讨论】:
express 是服务器端,angular 是客户端。你可以同时使用它。您可以在客户端将其他服务器端框架与 Angular 混合和匹配。 Angular 从什么时候开始支持数据库交互的? 更简单的路由处理服务器端是一个主要优点,即使 Angular 可以处理它,您仍然需要将所有内容设置为服务于 Angular 而不是服务器。然后是路由您从 Angular 进行的数据库调用,这对 Express 也很有帮助。 【参考方案1】:Express 可用于托管 API 以供 AngularJS 的服务/工厂使用。您可以将 AngularJS 视为MVC
,将 Express 上的 API 视为SOA
。
【讨论】:
【参考方案2】:有些事情应该在服务器端完成(即 Express,而不是 Angular),最值得注意的是用户输入验证 - Angular 作为客户端,可以被篡改。
此外,如果您想要提供 Web 应用程序以外的访问类型(即移动应用程序),您可能无论如何都需要一个 API - Express 可以做到这一点,而 Angular 则不需要。
最后,数据库访问——通常 Angular 应用程序需要连接到某种后端来执行 CRUD 操作。您要么使用 Firebase 等托管数据库,要么最终使用自己的数据库。后一种情况更受欢迎,您需要 Express(或类似的)。
【讨论】:
那么nodejs从哪里来?【参考方案3】:有很多东西想从服务器控制。这就是服务器端框架发挥作用的地方。
Web 应用程序不仅仅是一些链接在一起的 html 页面。还有很多其他的事情需要实现
模型验证。 保持模型一致。请记住,多个用户可以随时访问同一个模型,甚至可以更改它。 控制资源访问。 触发工作流。 业务逻辑。和其他类似的东西需要一个服务器框架。因此,如前所述,AngularJS 等客户端框架补充了服务器端框架。
【讨论】:
【参考方案4】:Express 和 AngularJS 不会相互排斥,它们的用途不同 - 事实上,两者都可以使用 - express 用于所有服务器端逻辑,Angular 用于客户端逻辑。
【讨论】:
那么nodejs从哪里来?以上是关于为啥要使用 Express 而不是 AngularJS?的主要内容,如果未能解决你的问题,请参考以下文章
Angular 2 RC 与 express 服务器而不是 lite 服务器
为啥我们应该在 Angular 中使用 subscribe() 而不是 map()?
为啥我得到 Promise 待处理而不是 Express 响应? [复制]
为啥 Postman 在我的 React 应用程序中接收到 express 会话 cookie 而不是我的 post 请求