Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 4+Firebase2身份验证_Angular_Typescript_Firebase_Angularfire - Fatal编程技术网

Angular 4+Firebase2身份验证

Angular 4+Firebase2身份验证,angular,typescript,firebase,angularfire,Angular,Typescript,Firebase,Angularfire,我在尝试学习使用angular+firebase对用户进行身份验证时遇到了麻烦 当通过终端中的ng serve运行angular应用程序时,我收到此错误消息 错误 /用户/../Desktop/angular/fireauth/node_模块/angularfire2/angularfire2.d.ts 2,10:模块 “/Users/../Desktop/angular/fireauth/node_modules/@angular/core/index” 没有导出的成员“InjectionTo

我在尝试学习使用angular+firebase对用户进行身份验证时遇到了麻烦

当通过终端中的ng serve运行angular应用程序时,我收到此错误消息

错误 /用户/../Desktop/angular/fireauth/node_模块/angularfire2/angularfire2.d.ts 2,10:模块 “/Users/../Desktop/angular/fireauth/node_modules/@angular/core/index” 没有导出的成员“InjectionToken”

错误 /用户/../Desktop/angular/fireauth/node_modules/angularfire2/firebase.app.module.d.ts 1,10:模块 “/Users/../Desktop/angular/fireauth/node_modules/@angular/core/index” 没有导出的成员“InjectionToken”


我也犯了同样的错误。对我来说,我的一个文件中有一个输入错误,它试图从angularFire2/导入。。。而不是angularfire2/。。。导致错误发生的

下面是一个基本的角度firestore设置示例

安装angularfire2和firebase 环境/environment.ts 模块导入和提供程序阵列 您的Firestore身份验证服务 最后但并非最不重要的一点是,确保在firebase控制台中正确设置了读写规则。并从firebase控制台启用一个或多个登录服务

来自console.firebase.google.com/project stuff/database/firestore/rules 之后,只要导入auth服务并将其传递到组件构造函数中,无论您需要在哪里使用auth服务

当我遇到同样的错误时,是因为从angualrFire2导入东西时出错。在运行ng serve时,它还抛出了一个错误,该错误表示该应用程序有多个模块,仅在情况下有所不同。意思是我试图从angularfire2/导入。。。和angularFire2/。。。希望你能找到你的错误


您还可以编写一个通用firestore服务,在类似于我们创建自定义身份验证服务的情况下,为您的应用程序处理所有crud操作。

您使用的是哪一版本的angularfire?4.0.0-rc.2是最新版本请在此处显示一些代码,在何处以及如何使用InjectionToken,另外,让我们知道您使用的angularfire2版本也会很有帮助。注意:您不需要在任何地方包含injectionToken。它在angularFire2中使用,如果您使用angularFire2设置错误,则会导致抛出该错误。
npm install firebase angularfire2 --save
export const environment = {
  production: false,
  firebase: { // add your api stuff here
    apiKey: '<your-key>',
    authDomain: '<your-project-authdomain>',
    databaseURL: '<your-database-URL>',
    projectId: '<your-project-id>',
    storageBucket: '<your-storage-bucket>',
    messagingSenderId: '<your-messaging-sender-id>'
  }
}
// Firebase Modules
import { AngularFireModule } from 'angularfire2';
import { AngularFirestoreModule } from 'angularfire2/firestore';
import { AngularFireAuthModule } from 'angularfire2/auth';
// Auth Service
import { AuthService } from './services/auth.service';
// Environment with firebase api key
import { environment } from './../environments/environment';
imports: [
  BrowserModule,
  AngularFireModule.initializeApp(environment.firebase),
  AngularFirestoreModule.enablePersistence(),
  AngularFireAuthModule,
  RouterModule.forRoot(appRoutes)
]
providers: [
  AuthService,
]
import { Injectable } from '@angular/core';
import { Router } from '@angular/router';
import { User } from './../../models/user.interface';
import * as firebase from 'firebase/app';
import { AngularFireAuth } from 'angularfire2/auth';
import { AngularFirestore, AngularFirestoreDocument } from 'angularfire2/firestore';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/switchMap';

@Injectable()
export class AuthService {

  constructor (
    private afAuth: AngularFireAuth,
    private afs: AngularFirestore,
    private router: Router
  ) { }
  // Your authentication logic here.
}
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write;
    }
  }
}