当我打开我的网站时,除了在控制台中没有显示任何内容,它表示"未捕获错误:没有模块:firebaseSimpleLogin"。如果没有$ firebaseSimpleLogin和登录/注册功能,我的网站可以很好地使用Firebase。
我正在使用AngularJS,我在我的模块/控制器中添加了$ firebaseSimpleLogin作为依赖项。 这是模块:
angular.module('flavor', ['flavorServices', 'firebase', 'firebaseSimpleLogin'])
.config(flavorRouter);
function flavorRouter ($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'partials/the_part_using_login.html',
controller: 'the_part_using_login_Ctrl'});
}
这是部分html的控制器:
function the_part_using_login_Ctrl ($scope, $firebase, $firebaseSimpleLogin) {
var userAuthRef = new Firebase("https://thenameofmyapp.firebaseio.com/userAuth");
var loginObj = $firebaseSimpleLogin(userAuthRef);
$scope.user = loginObj.user;
$scope.userLogin = function(){
//login part here
};
$scope.userSignup = function(){
//signup part here
};
}
我已按以下顺序将这些文件包含在index.html中。我不确定这个顺序是否正确:
<script src="https://cdn.firebase.com/js/client/1.1.3/firebase.js"></script>
<script type="text/javascript" src="js/lib/angular.min.js"></script>
<script src='https://cdn.firebase.com/libs/angularfire/0.8.0/angularfire.js'></script>
<script type="text/javascript" src="js/lib/angular-resource.min.js"></script>
<script src="https://cdn.firebase.com/v0/firebase-auth-client.js"></script>
<script src='https://cdn.firebase.com/js/simple-login/1.6.2/firebase-simple-login.js'></script>
<!--Other partial files and controller files-->
另外要提的是,我也使用nodeJS作为我的服务器。我使用服务器处理一些特殊文件,所以我不想把所有内容放在Firebase Hosting上。我不确定nodeJS是否在干扰$ firebaseSimpleLogin。
答案 0 :(得分:2)
在您的依赖项中,您有[..., 'firebase', 'firebaseSimpleLogin']
,但没有名为firebaseSimpleLogin的模块。它真的和错误信息一样简单。
检查AngularFire的快速入门,它在adding authentication时没有列出任何其他依赖项。简单地删除那个无关的依赖,你应该好好去。
对于后台,模块和服务是不同的概念。模块可以包含多个服务。 AngularFire模块名为firebase
,它包含$firebase
,$firebaseSimpleLogin
,$FirebaseArray
和$FirebaseObject
服务工厂。
另请注意,$firebaseSimpleLogin
将会消失,并在下周即将发布的0.9版本中被$firebaseUser
替换。