2016-10-14 4 views
0

현재 기존 애플리케이션 위에 Browserify를 구현하려고합니다.Browserify AngularJS 모듈 팩토리 메서드가 다른 팩토리 메서드를 확장합니다.

저는 표준 기능이 많이 포함 된 BaseService가 필요한 경우를 예로 들었습니다. 요청시 표준 헤더 설정.

내 공장에서는 loadash를 사용하여 BaseService를 확장합니다. 이 작업을하려면 BaseService에 대한 참조를 확장해야하는 모든 팩토리에서 참조해야합니다. 이 종속성을 어떻게 통과시켜야 지금 브라우저 화를 시작했는지 알 수 없습니다.

아래 샘플 코드를 추가했습니다.

모듈 선언 :

'use strict'; 
var angular = require('angular'); 

module.exports = angular.module('todoApp.services', [require('../secure').name]) 
    .factory('AuthService', ['$q', 'ConsumerConfig', require('./auth-service')]) 
    .factory('BaseWebService', ['$http', '$q', 'Encryption', 'nativeCrypto', require('./base-web-service')]); 

AuthService :

'use strict'; 
var _ = require('lodash'); 

module.exports = function($q, ConsumerConfig) { 
    return _.extend({ 
     config: ConsumerConfig, 

     authenticate: function (options) { 
      var deferred = $q.defer(); 

      this.callService({ 
       user: options.user, 
       url: "/AuthenticateUser", 
       type: "GET" 
      }).then(function (response) { 
       deferred.resolve(response.data.userAuthResponse.responseMessage.Token); 
      }, function (error) { 
       deferred.reject(error); 
      }); 

      return deferred.promise; 
     } 
    }, BaseWebService); 
}; 

내가 이상적으로 의존성을 주입하는 DI를 사용하고 싶습니다하지만이를하려고 할 때 알 수없는 공급자 오류가 계속 . 아무도 내가이 일을 어떻게 얻을 수 있는지 안다?

답변

0

누구나 볼 수 있습니다. 새로운 "코어"모듈을 만들고 내 서비스 모듈에 코어 모듈이 필요하므로이 문제를 해결했습니다.

모든 것이 올바른 순서로로드되었습니다.