缺省情况下,使用angular-cli项目时,tslint设置中包含一些杂乱无章的内容。最近,有一位新开发人员联系我,我在Atom中配置了他们的tslint实例。

我被问及以下内容:

import { Observable, BehaviorSubject } from 'rxjs';


TSLinter表示rxjs已列入黑名单。我去了tslint.json文件,果然列出了它。

此黑名单是什么,它是否可以保护应用程序免受某些侵害?

为什么默认情况下将rxjs添加到列表中?

在什么条件下我应该添加其他东西?



我想指出的是,我知道如何“解决”问题::

import { Observable } from 'rxjs/observable';
import { BehaviorSubject } from 'rxjs/BehaviorSubject';


在TSLint中,问题仍然在于黑名单的含义。

最佳答案

这是因为您(至少在浏览器应用程序中)不应包含'rxjs',而应始终使用更具体的内容,例如'rxjs/Observable''rxjs/BehaviorSubject'

当包含'rxjs'时,实际上是在包含以下文件:https://github.com/ReactiveX/rxjs/blob/master/index.js,其中包括整个捆绑的RxJS库(所有运算符,调度程序等)。因此,您要包含很多甚至不用的东西,并且您的应用程序会变得超出必要(我认为webpack2摇摇树没有帮助,一旦包含了代码,它将成为最终软件包的一部分,但我可能错了。

我认为直接从'rxjs'应用程序(例如后端应用程序)中的node导入是可以的,因为它包含了您将不使用的代码也没关系,而且这种方式更易于使用。

关于rxjs - tslint黑名单是什么,为什么tslint.json列表中的angular-cli默认rxjs?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45697345/

10-12 21:11