使用Grunt进行开发的角度夹具

时间:2014-07-03 14:08:49

标签: angularjs gruntjs

我正在寻找一种在开发前端时固定数据的方法,但是当我构建javascript的缩小版本时,它将绑定REST调用而不是固定数据。

我使用服务抽象出调用后端的实现,所以我应该有两个服务Javascript实现,一个用于开发,另一个用于构建,还是有一种更简单的方法来调用URL和拦截URL并返回固定数据。

谢谢!

1 个答案:

答案 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');
  }]);

希望这有帮助!