Angular和Firebase的问题:身份验证和用户
我正在和Firebase一起做一个项目。导入auth和User时,在auth.service.ts文件中,Visual Studio代码无法识别它们Angular和Firebase的问题:身份验证和用户,angular,typescript,firebase,Angular,Typescript,Firebase,我正在和Firebase一起做一个项目。导入auth和User时,在auth.service.ts文件中,Visual Studio代码无法识别它们 import { auth } from 'firebase/app'; import { User } from 'firebase'; import { AngularFireAuth } from '@angular/fire/auth' @Injectable() export class AuthService { public
import { auth } from 'firebase/app';
import { User } from 'firebase';
import { AngularFireAuth } from '@angular/fire/auth'
@Injectable()
export class AuthService {
public user:User;
constructor(public afAuth: AngularFireAuth) { }
async login( email:string, password:string){}
register(){}
logout(){}
getCurrentUser(){}
}
我的问题在于:
从'firebase/app'导入{auth}
从“firebase”导入{User}
请帮忙
我有一个错误:
声明了此:“auth”,但从未读取其值。ts(6133)模块“../../../../../../node_modules/firebase”没有导出的成员“auth”。您的意思是使用“从“../../../../../node_modules/firebase”导入身份验证吗?ts(2614)。-
并且:导入用户模块“../../../../../node_modules/firebase”没有导出的成员“User”。您是想使用“从“../../../../node_modules/firebase”导入用户”吗?ts(2614)–
AngularFireAuth
是一个包装类,因此您不需要auth
。正如错误所述,firebase
包没有名为User
或auth
的导出成员。。您可以查看有关如何使用的文档:
从'@angular/core'导入{Component};
从'@angular/fire/auth'导入{AngularFireAuth};
从“firebase/app”导入firebase;
@组成部分({
选择器:'应用程序根',
模板:`
你好{{user.displayName}}!
注销
请登录
使用谷歌登录
`,
})
导出类AppComponent{
构造函数(公共授权:AngularFireAuth){
}
登录(){
this.auth.signInWithPopup(新的firebase.auth.GoogleAuthProvider());
}
注销(){
this.auth.signOut();
}
}
您收到了什么错误消息?声明了“auth”,但从未读取其值。ts(6133)模块“../../../../../../node_模块/firebase”没有导出的成员“auth”。您的意思是使用“从“../../../../../../node_模块/firebase”导入身份验证吗?ts(2614)。并且此:导入用户模块“../../../../../node_模块/firebase”没有导出的成员“用户”。您的意思是使用“从“../../../../../node_模块/firebase”导入用户”吗?ts(2614)
import { Component } from '@angular/core';
import { AngularFireAuth } from '@angular/fire/auth';
import firebase from 'firebase/app';
@Component({
selector: 'app-root',
template: `
<div *ngIf="auth.user | async as user; else showLogin">
<h1>Hello {{ user.displayName }}!</h1>
<button (click)="logout()">Logout</button>
</div>
<ng-template #showLogin>
<p>Please login.</p>
<button (click)="login()">Login with Google</button>
</ng-template>
`,
})
export class AppComponent {
constructor(public auth: AngularFireAuth) {
}
login() {
this.auth.signInWithPopup(new firebase.auth.GoogleAuthProvider());
}
logout() {
this.auth.signOut();
}
}