使用仅限类型的导入会使我的打字稿文件变得非常冗长和混乱——它们真的需要吗?

问题描述

当我升级到最新版本的 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 (将#修改为@)