首页 > 解决方案 > node_modules/rxjs/ BehaviorSubject 没有导出的成员 'BehaviorSubject'

问题描述

我正在使用角度服务,但我遇到了一个由BehaviorSubject.

错误

模块“ng5/node_modules/rxjs/BehaviorSubject”没有导出的成员“BehaviorSubject”。

数据服务.ts

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

@Injectable()
export class DataService {

  constructor() { }
}

标签: angulartypescript

解决方案


如果您想全部导入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'


推荐阅读