Я использую 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 файла (возможно, зависящего от параметров пути)?