2016-10-14 9 views
0

В настоящее время я пытаюсь реализовать Browserify над существующим приложением.Обозреватель Угловой метод модульного модуля расширяет другой заводской метод

У меня есть требование, когда у меня есть 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

Для всех, кто ищет - я решил это, создав новый модуль «Core», а затем с моим модулем обслуживания требуется основной модуль.

Таким образом, все было загружено в правильном порядке