rxjs - 什么是 tslint 黑名单,为什么 angular-cli 在 tslint.json 的列表中默认使用 rxjs?

标签 rxjs angular-cli tslint

默认情况下,在 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 黑名单,为什么 angular-cli 在 tslint.json 的列表中默认使用 rxjs?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45697345/

相关文章:

angular - BehaviorSubject RxJs Angular 2

javascript - 面临错误 core.js :15723 ERROR TypeError: Cannot read property 'toLowerCase' of undefined In Angular 7

javascript - Angular2错误: Return type of public method from exported class has or is using private name

webpack - 运行 ng build --prod 时无法读取未定义的属性 'replace'

git - 有没有办法只对新文件(之前 git 未跟踪的文件)运行 lint-staged

typescript - 允许没有未使用的变量规则的 typescript 编译

angular - fromEvent 未在带有 'change' 的指令内触发,但带有 'click' 是

Angular/RxJS 轮询,超时和间隔取决于 api 响应时间

node.js - 如何使用 Angular-Cli 创建部署到 ZIP ./dist 文件夹的过程

typescript - tslint 一行规则错位 'else'