我正在做我的第一个Angular项目,我正在使用角度服务。无论如何,我得到了由BehaviorSubject
引起的错误。顺便说一句,我正在关注youtube上的教程。
错误
Module '"ng5/node_modules/rxjs/BehaviorSubject"' has no exported member 'BehaviorSubject'.
data.service.ts
import { Injectable } from '@angular/core';
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
@Injectable()
export class DataService {
constructor() { }
}
答案 0 :(得分:34)
如果您想导入所有RxJS
,请执行以下操作:
import { BehaviorSubject } from 'rxjs';
如果您只需要BehaviorSubject
:
import { BehaviorSubject } from 'rxjs/internal/BehaviorSubject';
编辑:解释
在ES6 / TypeScript上,所有import
都与export
关键字相关。如果你继续node_modules/rxjs/index.d.ts
,你会看到所有导出的课程。
这意味着在此文件中导出的内容可以导入为:import { SomeThing } from 'rxjs';
但是,您生成的包文件将包含所有RxJS内容,包括此库中不必要的部分。
为避免这种情况,我建议您从from 'rxjs/internal/SomeThing'
导入(根据需要替换SomeThing)
对于运营商,您可以在from 'rxjs/internal/operators/SomeThing'