私は、TypeScriptのデコレータでメタデータを使用するフレームワークを使用しているため、動作しています。TypeScriptのメタデータがモジュールの問題
しかし、今日私はちょうど私が理由を理解できない奇妙な基本的なケースを見つけました。
それは2.1.6 @、[email protected]で再現可能であり、および2.2.0-dev.20170214
@問題は、状況
の https://github.com/unional/some-issues/tree/ts-meta-import概要でデモすることができ
import 'reflect-metadata'
import { Foo } from './Foo'
Reflect.getMetadata('somekey', Foo) // returns undefined
:
// Foo.ts
import 'reflect-metadata'
@Reflect.metadata('somekey', 123)
export class Foo { }
Reflect.getMetadata('somekey', Foo) // returns 123
上記のコードは、私が別のファイルにFoo
にアクセスし、同じことをやろう場合しかし、それは動作しません、正常に動作します
それは本当にケースではありません....
UPDATE:私の枠組みの中で、私はaurelia-metadata
を使用することだし、それはこのケースで動作しているようです。しかし、なぜこの「シンプルな」シナリオがreflect-metadata
で動作しないのかという疑問が残っていますか?