我正在寻找一种在开发前端时固定数据的方法,但是当我构建javascript的缩小版本时,它将绑定REST调用而不是固定数据。
我使用服务抽象出调用后端的实现,所以我应该有两个服务Javascript实现,一个用于开发,另一个用于构建,还是有一种更简单的方法来调用URL和拦截URL并返回固定数据。
谢谢!
答案 0 :(得分:1)
添加一个将从构建中排除的javascript文件,但在本地执行grunt服务时包含如下:
'use strict';
angular.module('myApp')
.factory('mockHttpInterceptor', function($q) {
return {
'request' : function (config) {
if (config.url === '/testUrl') {
// Rewrite the URL to avoid a 404 locally.
config.url = '#/mock/testUrl';
}
return config;
},
'response' : function (response) {
// Check to see if it's the mock url you want to fixture.
if (response.config.url === '#/mock/testUrl') {
// Set the data you want in the response.
response.data = { name: 'John Smith' };
}
return response;
}
}
});
angular.module('myApp')
.config(['$httpProvider', function ($httpProvider) {
$httpProvider.interceptors.push('mockHttpInterceptor');
}]);
希望这有帮助!