问题描述
当我升级到最新版本的 typescript 并发现仅输入类型的导入时,我认为它非常酷并开始在任何地方使用它。
在设置了仅类型导入一段时间后,我很快意识到我得到了更多的冗长和我预期的“脏代码”。
没有仅类型导入:
import { SomeType,someFunction,SomeClasstoInstantiate } from '@my-app/lib1';
import { OtherType,otherFunction,OtherClasstoInstantiate } from '@my-app/lib2';
仅使用类型导入:
import type { SomeType } from '@my-app/lib1';
import { someFunction,SomeClasstoInstantiate } from '@my-app/lib1';
import type { OtherType } from '@my-app/lib2';
import { otherFunction,OtherClasstoInstantiate } from '@my-app/lib2';
基本上,我的很多导入都是重复的,并且很难跟踪我是否以正确的方式导入所有内容(编译器会标记我是否将我在文件中实际使用的类型作为类型导入 - 但相反不成立,我没有找到任何工具来标记导入仅用作类型并应切换为仅类型导入)。
也许我更多地注意到这个问题,因为我使用的是 NX,而且我的应用程序的很多代码都来自 libs 的桶文件;即经常发生必须从同一个模块导入类型和非类型。
所以我想知道,像这样在任何地方使用仅类型导入有什么实际优势?是否在某些特定情况下使用它绝对有帮助,并且可以在所有其他情况下绕过它?
如果我之前的问题的答案是应该尽可能使用它,那么您是否知道在可以使用类型导入时强制执行类型导入的任何 linting 规则?
我不喜欢导入数量比以前增加近一倍的混乱,甚至不知道它们在任何地方都始终分布在常规/仅限类型的导入中
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)