带有打字稿的Firebase 3.0

时间:2016-05-19 10:05:36

标签: typescript firebase firebase-authentication

我正在尝试按照google提供的指南开发一个带有angular2和firebase 3.0身份验证的网络应用。但是,所有Web指南都有javascript示例。

我在index.html

中添加了以下行
<script src="https://www.gstatic.com/firebasejs/live/3.0/firebase.js"></script>
var config = {
   apiKey: "AIzaSyCSfBMvAdEDpcm-z6gWp2XXXXXXXXXXXXX",
   authDomain: "fototrans-calculator.firebaseapp.com",
   databaseURL: "https://fototrans-calculator.firebaseio.com",
   storageBucket: "fototrans-calculator.appspot.com",
};
firebase.initializeApp(config);

但是当我尝试使用

rootRef = firebase.database.ref();

我在firebase&#39;上收到错误消息说

[ts] Cannot find name 'firebase'.

现在我记得我使用以前版本的Firebase的打字安装了firebase。对于新版本的Firebase,我们是否还有这样的东西?请指导。

提前致谢

5 个答案:

答案 0 :(得分:10)

从Firebase 3.2.1开始,这些类型包含在官方NPM包中:

https://firebase.google.com/support/release-notes/js#wzxhzdk4version_321_-_july_26_2016wzxhzdk5

答案 1 :(得分:4)

您可以通过declare var firebase: any;

解决此问题

答案 2 :(得分:4)

https://github.com/suhdev/firebase-3-typescript

有一个类型定义文件

我已经提交了pull request,希望能够解决您所描述的问题。

答案 3 :(得分:2)

您可以使用AngularFire2 GitHub存储库(位于here)中提供的Typings定义文件:

typings.json文件中包含以下内容:

{
  "ambientDependencies": {
    "firebase": "github:angular/angularfire2/manual_typings/firebase3/firebase3.d.ts#2c9ab3117eeb804e8e4996461eddcf32efa54a56"
  }
}

请注意,此处的值只是GitHub上文件的路径,后跟相关的提交哈希。在撰写本文时,示例中的哈希值为master,因此您可能希望更新到最新的提交。

接下来,您可以运行node_modules/.bin/typings install,“打字”将应用typings.json文件中的最新更改。

答案 4 :(得分:0)

你可以尝试使用它: https://github.com/angular/angularfire2/tree/master/manual_typings/firebase3

要使其正常工作,您需要将其添加到tsconfig.json:

<div class="container home" style="margin: 0";>

将文件复制到与tsconfig.json相同的文件夹中。