2017-02-15 66 views
-1

我有一个框架,它在TypeScript中使用装饰器的元数据,所以我知道它工作。模块问题中的TypeScript元数据

但是,今天我只是发现了一个奇怪的基本案例,我不明白为什么。

正是在[email protected]重复性,@ 2.1.6和2.2.0 @ - dev.20170214

问题可以https://github.com/unional/some-issues/tree/ts-meta-import

汇总的情况是演示

// Foo.ts 
import 'reflect-metadata' 

@Reflect.metadata('somekey', 123) 
export class Foo { } 

Reflect.getMetadata('somekey', Foo) // returns 123 

上面的代码工作正常,但是如果我尝试访问Foo在不同的文件和做同样的事情,这是行不通的:

import 'reflect-metadata' 
import { Foo } from './Foo' 

Reflect.getMetadata('somekey', Foo) // returns undefined 

它真的不应该是这样的....

更新:在我的框架,我使用aurelia-metadata,似乎在这种情况下工作。但问题仍然存在,为什么这个“简单”的方案不适用于reflect-metadata

回答

-1

答案是它确实有效。出于某种原因,当我今天尝试它时,它开始工作。

独角兽刚过。

感谢@blakeembrey对此进行了审视。