У меня есть фреймворк, который использует метаданные с декоратором в 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
Это действительно не должно быть так ....
UPDATE: в моей рамки, я использую aurelia-metadata
и, кажется, работает в этом случае. Но остается вопрос, почему этот «простой» сценарий не работает с reflect-metadata
?