我正在使用 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 文件(可能取决于路径参数)?