Error: Can't find variable: Firebase (angularjs and angular fire)

Error: Can't find variable: Firebase (angularjs and angular fire)

我是 firebase 和 angularfire 的新手。在我的应用程序中,我试图在 firebase 数据库中创建一个新项目(教师对象)。我不断收到 Error: Can't find variable: Firebase

我在 index.html 中包含了以下脚本标签:

<script type="text/javascript" src="../libs/firebase/firebase.js"></script>
<script type="text/javascript" src="../libs/angular/angularfire/angularfire.js"></script>

然后,在我的 app.js 中,我添加了 firebase 像:

angular.module('app', ['firebase']);

我的控制器是:

app.controller('teacherCreateCtrl', ['$scope', '$state', 'Teacher', '$firebase', function($scope, $state, Teacher, $firebase) {
   var ref = new Firebase("https://xxx-xxxxxx.firebaseio.com/app/teachers");
   var firebaseConnection = $firebase(ref);
   $scope.teacher = new Teacher();
   $scope.userClickedCancel = function() {
      $state.go('app.teacher');
   }
   $scope.userClickedSave = function(newTeacher) {
      firebaseConnection.$set(newTeacher);
   }
}]);

代码执行在控制器中的 var ref = ... 处停止。感谢任何帮助。谢谢。

我使用的是 firebase 3.4.0v 和 angularfire 2.0.2v。请注意,我使用此控制器的模板作为视图嵌入到 index.html 中。

来自 Firebase Angular quickstart

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
<script src="https://cdn.firebase.com/js/client/2.2.4/firebase.js"></script>
<script src="https://cdn.firebase.com/libs/angularfire/1.2.0/angularfire.min.js"></script>
...
var app = angular.module("sampleApp", ["firebase"]);
...
app.controller("SampleCtrl", function($scope, $firebaseObject) {
  var ref = new Firebase("https://<YOUR-FIREBASE-APP>.firebaseio.com");
  $scope.data = $firebaseObject(ref);
  console.log($scope.data);
});

一切看起来都正确...你确定你也包含了 angular 来源吗?

否则,您应该分享代码的相关部分...

你混淆了你的版本。如果您使用 v3.x firebase,则不能使用 v2.x 代码。所以代替:

var ref = new Firebase("https://xxx-xxxxxx.firebaseio.com/app/teachers");

你必须这样做:

var config = {
  apiKey: "<API_KEY>",
  authDomain: "<PROJECT_ID>.firebaseapp.com",
  databaseURL: "https://<DATABASE_NAME>.firebaseio.com",
  storageBucket: "<BUCKET>.appspot.com",
};
firebase.initializeApp(config);

查看 the docs 了解更多信息。