【发布时间】:2021-05-01 12:07:36
【问题描述】:
我试图了解声明合并的行为。 我创建了一个声明文件,重新声明了模块的一个函数接口。 npm 模块 'schemavalidator' 有自己的类型。
我仅将此模块用作演示行为的示例。这个问题与 schemavalidator 模块有关。
我注意到即使我不导入我的声明文件,打字稿仍然使用它。
我要做的是仅在使用 import 语句导入自定义声明文件时才使用它。
这是我的 2 个文件
首先是我的自定义声明文件。在这里,我首先从 npm 模块 jsonschema 重新导出所有内容。 其次我只重新定义了一个函数接口。
这是我的文件,它使用了这个重新定义的 CustomFormat 接口。请注意,我没有在任何地方导入 mytypes 文件。
请注意,IDE 已经在抱怨类型错误。 在运行 tsc 命令的地方,我从打字稿编译器收到错误
所以我很清楚,我在 mytypes.ts 中声明的自定义声明由 typescript 处理,即使文件 mytypes.ts 没有在我的程序的任何地方导入。
这不是我想要达到的目标。我希望仅当在 schemavalidator 文件中使用 import 语句导入 mytypes 时才重新定义定义,并且在所有其他文件中它应该使用 npm 模块附带的定义。
有可能吗? 导入'../mytypes'
【问题讨论】:
标签: typescript typescript-typings