如何正确导入反映元数据



所以我有一个TypeScript项目正在进行中,我想使用反射元数据包。我对正确的导入方式有点困惑。据我所知,这只需要在您的"主"文件中导入一次。因此,在我的情况下,我有一个应用程序。在其中,我导入反映元数据作为第一件事:

import 'reflect-metadata';
import ReflectionClass from '@src/Reflection/ReflectionClass';
...

CCD_ 1继而导入最终调用CCD_ 2的另一个类。但是,由于错误而失败

error TS2339: Property 'getMetadata' does not exist on type 'typeof Reflect'.

只有当我在相关文件中显式导入反射元数据时,错误才会消失。这样做正确吗?换言之,我是否需要在每个使用元数据的文件中导入以反映元数据,而不是在主文件中进行全局一次性导入?

回答我自己的问题;是的,你只需要导入一次。我做了一些整体项目的重新安排,其中包括将ts节点替换为基于汇总的解决方案,并删除一堆未使用的包。之后,反射metada的单个导入现在就可以工作了。不幸的是,我无法推断出我最初问题的确切原因,只知道重组后现在问题已经解决了。也许是其他包裹干扰了它。

是的,这是因为反射元数据包中没有导出。

最新更新