Firebase, AngularFire错误:模块Firebase不可用

Firebase, AngularFire Error: Module firebase is not available

本文关键字:Firebase 模块 AngularFire 错误      更新时间:2023-09-26

我正在尝试为我的Yeoman, AngularJS应用程序设置firebase, angularfire。我遵循这个教程在这里(https://www.firebase.com/tutorial/#tutorial/angular/0),但我一直得到一个

Uncaught Error: [$injector:modulerr] Failed to instantiate module MyApp due to:
Error: [$injector:modulerr] Failed to instantiate module firebase due to:
Error: [$injector:nomod] Module 'firebase' is not available! You either misspelled the m...<omitted>...1)

我怎样才能通过这个?

我相信这是教程中的这两行,它说它为我们下载firebase,但我可能把它放在错误的地方。我试着把它放在头标签之间,右边的组件,以及旁边我所有的脚本

<script src='https://cdn.firebase.com/js/client/1.0.15/firebase.js'></script>
<script src='https://cdn.firebase.com/libs/angularfire/0.8.0/angularfire.min.js'></script>

我有这个问题,发现加载firebase,然后angular,然后angularfire工作得很好。这样的

<head>
  <script src="https://cdn.firebase.com/js/client/2.2.2/firebase.js"></script>
  <script src="js/app.js"></script>
  <script src="js/controllers.js"></script>
  <script src="js/services.js"></script>
  <script src="https://cdn.firebase.com/libs/angularfire/1.0.0/angularfire.min.js"></script>
</head>

你需要把firebase模块作为依赖注入注入到你的应用中

在你的代码中,你有这个,

var myApp = angular.module("myApp",[]);

应该是

var myApp = angular.module("myApp",['firebase']);

这也发生在我身上。

  • 我已经添加了angularfire依赖项( wer install angularfire)

  • 我在创建模块时将'firebase'添加到依赖项数组中。

然而,我仍然得到错误"模块'firebase'不可用"。

关键是我忘记了"——save"。当我回到命令行并运行以下命令时:

bower install angularfire --save

那么它成功了!

为了在项目中使用AngularFire,需要包含以下脚本标签:

<!-- AngularJS -->
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
<!-- Firebase -->
<script src="https://cdn.firebase.com/js/client/2.2.4/firebase.js"></script>
<!-- AngularFire -->
<script src="https://cdn.firebase.com/libs/angularfire/1.2.0/angularfire.min.js"></script>

完整教程:https://www.firebase.com/docs/web/libraries/angular/quickstart.html

我在使用节点6.10时遇到了同样的问题,并且从Uncaught ReferenceError上的信息:未定义Firebase我尝试了以下建议

<head>
    <script src='https://cdn.firebase.com/js/client/2.2.1/firebase.js'></script>
    <script src='https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js'></script>
    <link rel='stylesheet' type='text/css' href='/resources/tutorial/css/example.css'>
  </head>

但是没有工作。所以我所做的就是安装firebase和angularfire,如下所示使用angular-cli

npm install firebase --save
npm install angularfire --save

在你的AppComponent文件中,你可以这样定义这个类

export class AppComponent {
  ...
  constructor() {
    // Initialize Firebase
    var config = {
      apiKey: "...",
      authDomain: "...",
      databaseURL: "...",
      projectId: "...",
      storageBucket: "...",
      messagingSenderId: "..."
    };
    // firebase.initializeApp(config);
    initializeApp(config);
    // var root = firebase.database().ref();
    var firebaseRec= database().ref();
    ...
  }
}

这将解决对firebase的引用未定义的问题