我正在尝试按照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,我们是否还有这样的东西?请指导。
提前致谢
答案 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相同的文件夹中。