我对Angular js与Express js的目的有点困惑。据我理解,我们使用Node.js来服务Angular js,但并不完全局限/强制使用Node.js来提供服务。另一方面,Express js似乎完成了类似于更传统的MVC框架的某些事情。
那么,Angular Js是一种非特定于服务器的MVC框架吗?这是否限制了Angular js后端服务器的能力或易用性?
我对Angular js与Express js的目的有点困惑。据我理解,我们使用Node.js来服务Angular js,但并不完全局限/强制使用Node.js来提供服务。另一方面,Express js似乎完成了类似于更传统的MVC框架的某些事情。
那么,Angular Js是一种非特定于服务器的MVC框架吗?这是否限制了Angular js后端服务器的能力或易用性?
Express
Express是一个Web框架,灵感来自于Ruby项目“Sinatra”。它是Node中众多的Web框架之一。
AngularJS
AngularJS是一个MVC框架,定义了许多概念以正确组织您的Web应用程序。您的应用程序使用可以相互依赖的模块进行定义。它通过将指令附加到页面、使用新属性或标签和表达式来增强HTML,以直接在HTML中定义非常强大的模板。它还通过控制器封装应用程序的行为,这些控制器由依赖项注入实例化。
AngularJS可帮助您轻松地构造和测试JavaScript代码。
回答您看到的评论。
那么你会说他们是面向不同目的的客户端和服务器端实现,因此彼此互斥,还是你能想象一个场景,在同一个应用程序中使用Angular Js、Expression js和Node.js?
是的,它们是面向不同目的的,但它们都是基于MVC的框架。是的,我们可以在其中使用Angular路由器、视图和控制器作为前端,并使用Express作为您与MongoDB或任何其他数据库通信的基本模型。但是再次提醒,这取决于您的选择,因为您可以在不考虑AnagularJs的情况下实现所有功能。
添加更多内容
AngularJS是一个美丽而易于测试的客户端框架,结合了大量酷炫的东西,如MVC、依赖注入、数据绑定等等。如果要充分利用AngularJS的功能,则可以考虑使用RESTful方法编写服务器端代码。您可以利用它们的资源工厂,创建您的服务器端RESTful API的抽象,并进行诸如获取、发布、放置、删除等服务器端调用。
您可以使用AngularJS来定义客户端行为(视图和控制器),然后编写REST服务,让AngularJS客户端可以与之交互。客户端运行在Web浏览器[AngularJS]上,并对服务器进行异步通信。然后服务器[ExpressJS]检索并存储客户端的数据。
保持客户端和服务器之间的明确区分,使应用程序更易于维护和测试。此外,这完全取决于您要构建什么以及如何最好地利用它们两者。
AngularJS是一个运行在客户端,也就是浏览器上的JavaScript框架;它有一个路由器,但仅用于客户端(实际上,默认使用散列作为路由)。
另一方面,Node.js作为服务而非浏览器运行JavaScript,可以运行像Express这样的Web框架来处理HTTP等,使其成为一个不错的Web服务器。
相似点是两个框架都是 JavaScript 框架,这意味着如果你同时使用它们,可以用 JavaScript 编写服务器端和客户端逻辑。
区别在于 AngularJS 是客户端框架,而 Express 是服务器端框架。
Express 可以与任何客户端框架一起使用,Angular 也可以与任何服务器端框架一起使用。