在 monorepo 中,我有两个模块,ModuleA 和 ModuleB。在 ModuleB 中,我想使用 ModuleA 中的类型,但从未实际导入任何值。这是因为 ModuleB 可能未与 ModuleA 捆绑在一起,因此它不应在运行时从中导入任何内容(事实上,ModuleA 在运行时可能不存在)。根据我的理解,这就是
import type ...
语法的目的,它只导入编译时类型,但在运行时什么都不做。 如何将 Typescript 配置为仅允许从 ModuleA 导入编译时类型,以便它永远不会在编译的 JavaScript 中导入?
在我的 tsconfig 我目前有这个:
"paths": {
"ModuleA": [
"../node_modules/ModuleA/dist/esm/index.d.ts"
]
}
但这显然允许导入任何东西,包括运行时值。