

Angularのプロジェクトでmapオペレータをimportしているにもかかわらず、下記のエラーが表示されます。

[code]

    error TS2552: Cannot find name 'map'. Did you mean 'Map'?
    
[/code]

ソースコードは以下の通りです。

[code]

    import { Injectable } from '@angular/core';
    import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';
    import { Observable } from 'rxjs';
    import { map } from 'rxjs/operators';//mapオペレータのimport
    import { SessionService } from '../service/session.service';
    
    @Injectable({
      providedIn: 'root'
    })
    export class AuthGuard implements CanActivate {
    
      constructor(private session: SessionService,
        private router: Router) {
      }
    
      canActivate(
        next: ActivatedRouteSnapshot,
        state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {
        return this.session
          .checkLoginState()//SessionのObservableを返す
          .pipe(
            map(session => {
              // ログインしていない場合はログイン画面に遷移
              if (!session.login) {
                this.router.navigate(['']);
              }
             return session.login;
           })
          )
      }
    
[/code]


CC BY-SA 4.0
2018-11-27T03:26:39.917
50661
2018-11-27T03:26:39.917
31170
question
node.js angularjs rx-javascript
mapオペレータがimportできない