AngularJS可以在没有REST API的情况下使用吗?

mat*_*i82 8 javascript rest node.js angularjs

当我使用node.js创建一个简单的网站时,我可以使用视图引擎(例如,jade)和为其提供数据的控制器(例如,简单的待办事项列表).但是,如果我决定将AngularJS添加为客户端框架,那么我似乎必须在后端实现REST API以从中获取数据.几乎所有我在线使用AngularJS看到的例子都有这个基本架构:客户端(angular)通过REST API与服务器通信.

可以在没有REST API的情况下使用AngularJS,如果是这样,我应该这样做还是应该避免使用它?在没有REST API后端的情况下使用AngularJS是否有任何建议/最佳实践?

Che*_*hev 7

绝对.即使您从未使用$ http服务与您的服务器通信,Angular仍然可以在您的网站上做很多事情.您仍然可以利用这些实用程序来帮助管理DOM.

也就是说,大多数现代应用需要从服务器获取数据.您可能需要这么做的原因很多.例如,如果您有用户需要注册,那么您需要在某处存储用户名和密码.那个地方将在只有你的服务器可以访问的数据库中.然后您的服务器将提供一些您可以通过Angular的$http服务与之交谈的URL .

如果你有一个应用程序,将调用服务器,但要关闭用于测试的网络通信,你可以嘲笑$http呼叫响应.Angular 为此目的提供$ httpBackend.您可以使用它来设置虚假URL,假装响应您的$http呼叫,以便您的$http呼叫不知道他们实际上没有与服务器通话.

authRequestHandler = $httpBackend.when('GET', '/auth.py')
                       .respond({userId: 'userX'}, {'A-Token': 'xxx'});
Run Code Online (Sandbox Code Playgroud)

非常适合在测试期间无需REST后端测试代码.