【问题标题】:Browserify AngularJS Module factory method extend another factory methodBrowserify AngularJS Module 工厂方法扩展了另一个工厂方法
【发布时间】:2016-10-14 23:06:25
【问题描述】:

我目前正在尝试在现有应用程序上实现 Browserify。

我有一个要求,我有一个包含一堆标准功能的 BaseService,例如在请求等上设置标准标头。

在我的工厂中,我使用 loadash 来扩展 BaseService。为此,我需要在任何试图扩展它的工厂中引用 BaseService 。现在我已经开始使用browserify,我不知道如何通过这个依赖。

我在下面添加了示例代码。

模块声明:

'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 来注入依赖项,但是当我尝试这样做时,我不断收到未知的提供程序错误。有谁知道我怎样才能让它工作?

【问题讨论】:

    标签: angularjs dependency-injection browserify factory


    【解决方案1】:

    对于任何寻找的人 - 我通过创建一个新的“核心”模块然后让我的服务模块需要核心模块来解决这个问题。

    这样,所有内容都以正确的顺序加载

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多