【问题标题】:Angularfire and Firebase upgrade error: Unknown provider: $firebaseAuthProvider <- $firebaseAuthAngularfire 和 Firebase 升级错误:未知提供者:$firebaseAuthProvider <- $firebaseAuth
【发布时间】:2016-08-31 08:49:37
【问题描述】:

我尝试将我的网络应用程序升级到新的 firebase 3.3.0(从 2.4.0),并且也将 angularfire 升级到 2.0.2(从 1.1.3)。更新前 - 一切正常。

根据本教程更新:https://firebase.google.com/support/guides/firebase-web

现在我得到错误:

angular.js:68 Uncaught Error: [$injector:unpr] Unknown provider: $firebaseAuthProvider <- $firebaseAuth <- Auth
http://errors.angularjs.org/1.5.8/$injector/unpr?p0=%24firebaseAuthProvider%20%3C-%20%24firebaseAuth%20%3C-%20Auth(anonymous function) @ angular.js:68(anonymous function) @ angular.js:4511getService @ angular.js:4664(anonymous function) @ angular.js:4516getService @ angular.js:4664injectionArgs @ angular.js:4688invoke @ angular.js:4710enforcedReturnValue @ angular.js:4557invoke @ angular.js:4718(anonymous function) @ angular.js:4517getService @ angular.js:4664injectionArgs @ angular.js:4688invoke @ angular.js:4710(anonymous function) @ angular.js:4526forEach @ angular.js:321createInjector @ angular.js:4526doBootstrap @ angular.js:1758bootstrap @ angular.js:1779angularInit @ angular.js:1664(anonymous function) @ angular.js:31763fire @ jquery.js:3232fireWith @ jquery.js:3362ready @ jquery.js:3582completed @ jquery.js:3617

当然,我知道我需要更改所有身份验证方法,但应用程序一开始就崩溃了。无法达到我可以更新身份验证方法的地步。有什么问题?尝试在 chrome 开发工具中逐步检查执行,似乎在加载所有依赖项后立即崩溃。

这是我的认证模块:

(function() {
  'use strict';
  angular.module('firebase.auth', ['firebase', 'firebase.ref'])

    .factory('Auth', ['$firebaseAuth','Ref', function($firebaseAuth,Ref) {
      return $firebaseAuth(firebase.auth());
    }]);
})();

这是我初始化应用程序 Firebase 连接的 ref 模块

angular.module('firebase.ref', ['firebase'])
  .factory('Ref', ['$window', 'FBapiKey', 'FBauthDomain', 'FBdatabaseURL', 'FBstorageBucket', function($window, FBapiKey, FBauthDomain, FBdatabaseURL, FBstorageBucket) {
    'use strict';
    // Initialize Firebase
    var config = {
      apiKey: FBapiKey,
      authDomain: FBauthDomain,
      databaseURL: FBdatabaseURL,
      storageBucket: FBstorageBucket,
    };
    firebase.initializeApp(config);

    return firebase.database().ref();
  }]);

尝试对这些文件进行许多更改 - 仍然是相同的错误 - 所以我认为问题可能在我的项目的不同位置。

【问题讨论】:

  • 不应该是简单的“return $firebaseAuth();”而不是“return $firebaseAuth(firebase.auth());”?
  • 不——也试过不带参数——同样的效果。还完全删除了依赖项['firebase', 'firebase.ref'] - 同样的错误 - 因此我认为问题可能出在其他地方......

标签: angularjs firebase angularfire firebase-authentication


【解决方案1】:

设法解决它!

正如我所料 - 问题不同且微不足道(尽管有错误消息)。

似乎我的模块名称与 angularfire 中的一个模块(同名)冲突。因此,唯一要做的更改是更改我的身份验证模块名称(将其重命名为 firebase.appauth - 现在它可以工作了!由于升级过程但应用程序正在加载,还有一些其他错误需要修复。

(function() {
  'use strict';
  angular.module('firebase.appauth', ['firebase', 'firebase.ref'])

    .factory('Auth', ['$firebaseAuth','Ref', function($firebaseAuth,Ref) {
      return $firebaseAuth();
    }]);
})();

【讨论】:

    猜你喜欢
    • 2016-04-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-21
    • 2016-10-30
    • 2017-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多