缺省情况下,使用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/