属性 'auth' 在类型 'typeof import("/home/kartik/Desktop/Ecommerce/ecommerce/node_modules/firebase/index")' 上不存在。 TS(2339)
Property 'auth' does not exist on type 'typeof import("/home/kartik/Desktop/Ecommerce/ecommerce/node_modules/firebase/index")'. ts(2339)
我是 FireBase 的初学者,我正在尝试使用 angular 通过 FireBase 实现 Google 登录。我在身份验证时遇到上述错误。我特此附上 login.component.ts 和 package.json、package.lock.json.
的开发依赖项
login.component.ts
import { Component, OnInit } from '@angular/core';
import * as firebase from 'firebase';
import 'firebase/auth';
import {AngularFireAuth} from 'angularfire2/auth'
@Component({
selector: 'app-login',
templateUrl: './login.component.html',
styleUrls: ['./login.component.css']
})
export class LoginComponent implements OnInit {
constructor(private afAuth:AngularFireAuth) {
firebase.default.database
}
ngOnInit(): void {
}
Login(){
this.afAuth.auth.signInWithRedirect(new firebase.auth.GoogleAuthProvider()) //error due to this line.
}
}
package.json
"dependencies": {
"@angular/animations": "~11.1.0",
"@angular/cdk": "^11.2.12",
"@angular/common": "~11.1.0",
"@angular/compiler": "~11.1.0",
"@angular/core": "~11.1.0",
"@angular/fire": "^6.0.4-canary.9a26fbe",
"@angular/forms": "~11.1.0",
"@angular/localize": "~11.1.0",
"@angular/material": "^11.2.12",
"@angular/platform-browser": "~11.1.0",
"@angular/platform-browser-dynamic": "~11.1.0",
"@angular/router": "~11.1.0",
"@ng-bootstrap/ng-bootstrap": "^9.1.1",
"angularfire2": "^5.4.2",
"bootstrap": "^5.0.1",
"firebase": "^8.6.2",
"firebase-tools": "^9.10.2",
"g": "^2.0.1",
"rxjs": "~6.6.0",
"tslib": "^2.0.0",
"zone.js": "~0.11.3"
},
包-lock.json
...
"@angular/fire": {
"version": "6.0.4-canary.9a26fbe",
"resolved": "https://registry.npmjs.org/@angular/fire/-/fire-6.0.4-canary.9a26fbe.tgz",
"integrity": "sha512-LVskM344FFLQ34Dyc6ngN6n+c8kZODm3T3Sdzu43P4wmpaoocL06/3HMvXlQiwBdE3bH+F+tdGu2VYxgQZCWCA==",
"requires": {
"tslib": "^2.0.0"
}
},
...
"angularfire2": {
"version": "5.4.2",
"resolved": "https://registry.npmjs.org/angularfire2/-/angularfire2-5.4.2.tgz",
"integrity": "sha512-7brktOHPObHgMnCN+QkakyCBr2mnxMxMSVLlEZ7OF70LjFIQz/RV3t5a7cH1SjystbY+kzR3qYvn/irlWs27/Q==",
"requires": {
"@angular/fire": "5.4.2"
},
"dependencies": {
"@angular/fire": {
"version": "5.4.2",
"resolved": "https://registry.npmjs.org/@angular/fire/-/fire-5.4.2.tgz",
"integrity": "sha512-QzB5d1wtqr9jxfsVNv2+569MlfK4/QrrpNy0IngOHdxS4FBbXqMOcx37iv1m2mzJv9zlGUddUX44IZP5Xfb3cw=="
}
}
},
你的依赖是旧的。我建议您更新它们并使用新语法:
import { AngularFireAuth } from '@angular/fire/auth';
import { AngularFirestore } from '@angular/fire/firestore';
import { AngularFireDatabaseModule } from '@angular/fire/database';
import * as firebase from 'firebase/app';
和firebase@7.24.0
有关于 firebase 身份验证的完整教程,我觉得非常有用;这是 link
旧的导入是
import { AngularFireAuthModule } from 'angularfire2/auth';
我是 FireBase 的初学者,我正在尝试使用 angular 通过 FireBase 实现 Google 登录。我在身份验证时遇到上述错误。我特此附上 login.component.ts 和 package.json、package.lock.json.
的开发依赖项login.component.ts
import { Component, OnInit } from '@angular/core';
import * as firebase from 'firebase';
import 'firebase/auth';
import {AngularFireAuth} from 'angularfire2/auth'
@Component({
selector: 'app-login',
templateUrl: './login.component.html',
styleUrls: ['./login.component.css']
})
export class LoginComponent implements OnInit {
constructor(private afAuth:AngularFireAuth) {
firebase.default.database
}
ngOnInit(): void {
}
Login(){
this.afAuth.auth.signInWithRedirect(new firebase.auth.GoogleAuthProvider()) //error due to this line.
}
}
package.json
"dependencies": {
"@angular/animations": "~11.1.0",
"@angular/cdk": "^11.2.12",
"@angular/common": "~11.1.0",
"@angular/compiler": "~11.1.0",
"@angular/core": "~11.1.0",
"@angular/fire": "^6.0.4-canary.9a26fbe",
"@angular/forms": "~11.1.0",
"@angular/localize": "~11.1.0",
"@angular/material": "^11.2.12",
"@angular/platform-browser": "~11.1.0",
"@angular/platform-browser-dynamic": "~11.1.0",
"@angular/router": "~11.1.0",
"@ng-bootstrap/ng-bootstrap": "^9.1.1",
"angularfire2": "^5.4.2",
"bootstrap": "^5.0.1",
"firebase": "^8.6.2",
"firebase-tools": "^9.10.2",
"g": "^2.0.1",
"rxjs": "~6.6.0",
"tslib": "^2.0.0",
"zone.js": "~0.11.3"
},
包-lock.json
...
"@angular/fire": {
"version": "6.0.4-canary.9a26fbe",
"resolved": "https://registry.npmjs.org/@angular/fire/-/fire-6.0.4-canary.9a26fbe.tgz",
"integrity": "sha512-LVskM344FFLQ34Dyc6ngN6n+c8kZODm3T3Sdzu43P4wmpaoocL06/3HMvXlQiwBdE3bH+F+tdGu2VYxgQZCWCA==",
"requires": {
"tslib": "^2.0.0"
}
},
...
"angularfire2": {
"version": "5.4.2",
"resolved": "https://registry.npmjs.org/angularfire2/-/angularfire2-5.4.2.tgz",
"integrity": "sha512-7brktOHPObHgMnCN+QkakyCBr2mnxMxMSVLlEZ7OF70LjFIQz/RV3t5a7cH1SjystbY+kzR3qYvn/irlWs27/Q==",
"requires": {
"@angular/fire": "5.4.2"
},
"dependencies": {
"@angular/fire": {
"version": "5.4.2",
"resolved": "https://registry.npmjs.org/@angular/fire/-/fire-5.4.2.tgz",
"integrity": "sha512-QzB5d1wtqr9jxfsVNv2+569MlfK4/QrrpNy0IngOHdxS4FBbXqMOcx37iv1m2mzJv9zlGUddUX44IZP5Xfb3cw=="
}
}
},
你的依赖是旧的。我建议您更新它们并使用新语法:
import { AngularFireAuth } from '@angular/fire/auth';
import { AngularFirestore } from '@angular/fire/firestore';
import { AngularFireDatabaseModule } from '@angular/fire/database';
import * as firebase from 'firebase/app';
和firebase@7.24.0
有关于 firebase 身份验证的完整教程,我觉得非常有用;这是 link
旧的导入是
import { AngularFireAuthModule } from 'angularfire2/auth';