如何修复 "Property ' ' does not exist on type 'typeof import" 错误?

How do you fix "Property ' ' does not exist on type 'typeof import" error?

A​​ungluar 新手正在处理身份验证。我将 auth0-angular 包下载到我的项目中,现在我在创建 WebAuth() 实例时遇到此错误 (IDE: VS Code):

" 属性 'WebAuth' 在类型 'typeof import("c:/Users/Owner/Desktop/coding_course_docs/AngularAudioPlayer/node_modules/@auth0/auth0-angular/auth0-auth0-angular")' 上不存在 "

这是我的代码:

import { Injectable } from '@angular/core';

import * as auth0 from '@auth0/auth0-angular';

import { environment } from '../../environments/environment';



import{

  Observable,
  BehaviorSubject,
  bindNodeCallback, 
  of
} from 'rxjs';

import { Router } from '@angular/router';


@Injectable({
  providedIn: 'root'
})
export class AuthService {

  //instance of auth0-WebAuth that is used for authentication
  auth0 = new auth0.WebAuth({

    clientID: environment.auth0.clientID,

    domain: environment.auth0.domain,

    responseType: 'token id_token',

    scope: 'openid profile email'

  });

  //'localStorage' keys (for storing authentication and user profile data) that track whether or not to renew token
  private _authFlag = 'isLoggedIn';
  
  private _userProfileFlag = 'userProfile';

你知道我做错了什么吗?

您是否尝试过为 auth0 使用另一个导入? import * as auth0 from "auth0-js";

请注意,使用它需要以下依赖项:auth0-js,而不是 @types/auth0-js(也应该添加,但它只是添加,以便您在 TypeScript 中为 auth0 获得更好的类型)

如果你想使用auth0-angular,那么你应该切换到另一种导入类型:import { AuthService } from '@auth0/auth0-angular';。您可以在此处找到有关使用此 AuthService 的更多详细信息:https://auth0.com/docs/libraries/auth0-angular-spa

虽然第一个应该可以解决您的问题,但从长远来看,第二个可能是更好的方法 运行。