【发布时间】: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