【发布时间】:2013-07-29 21:33:31
【问题描述】:
我正在使用 Yeoman、Grunt 和 Bower 构建一个平台,用于构建独立于后端的前端。我的想法是我的所有(AngularJS)控制器、服务、工厂等都存在于这个项目中,然后根据 grunt 构建的结果注入到我的服务器端代码库中。
我的问题是:
如何模拟端点,以便 Grunt 服务器响应与我的 (Rails) 应用程序相同的端点?
目前我正在使用:
angular.module('myApp', ['ngResource'])
.run(['$rootScope', function ($rootScope) {
$rootScope.testState = 'test';
}]);
然后在我的每个单独的服务中:
mockJSON = {'foo': 'myMockJSON'}
在每种方法上:
if($rootScope.testState == 'test'){
return mockJSON;
}
else {
real service logic with $q/$http goes here
}
然后在grunt build 之后,testState = 'test' 被删除。
这显然是一个相对笨拙的架构。我怎样才能避免它?如何让 Grunt 响应与我的应用程序相同的端点(其中一些具有动态参数)应用一些逻辑(如果需要),并提供一个 json 文件(可能依赖于路径参数)?
【问题讨论】:
标签: rest angularjs mocking gruntjs yeoman