import type
TypeScript 功能(而不是仅仅使用 import
)修复了问题,然后发现有一个 @typescript-eslint/consistent-type-imports
eslint 规则,启用后,使 eslint --fix
自动替换 import
在适当的地方加上 import type
。
在我看来,在可能的情况下使用
import type
而不是仅使用 import
是理所当然的:它显然允许在编译期间进行一些优化,并且在某些情况下使代码更易于阅读,而且看起来并不像如果使用得当,它会破坏任何现有的代码。本质上,它看起来很有用,没有缺点。
但我注意到,流行的 eslint 推荐规则集(如
@typescript-eslint/consistent-type-imports
或 airbnb-typescript
)并未启用 @typescript-eslint/recommended
规则。事实上,这些项目不推荐该规则,这让我想知道它是否不像看起来那样是免费的午餐。
那么,在项目中启用
@typescript-eslint/consistent-type-imports
规则是否存在任何风险?
我在大型单一存储库上使用了该规则,这非常棒。 eslint 规则足够智能,可以知道您何时将其用作值或仅用作类型,并自动修复您的导入以匹配。
我无法解释为什么你提到的那些项目不包含该规则,但我可以说我已经使用该规则一两年了,并且没有遇到任何缺点。