Как правильно импортировать рефлекс-метаданные - PullRequest
0 голосов
/ 20 ноября 2018

Итак, у меня есть проект TypeScript , над которым я работаю, и я хочу использовать пакет рефлекс-метаданные .Я немного озадачен тем, как правильно импортировать это.Насколько я понимаю, это нужно было импортировать только один раз в ваш «основной» файл.Таким образом, в моем случае у меня есть app.ts , в который я импортирую refle-metadata как самое первое:

import 'reflect-metadata';

import ReflectionClass from '@src/Reflection/ReflectionClass';
...

ReflectionClass, а затем по очередиимпортирует другой класс, который в итоге вызывает Reflect.getMetadata().Тем не менее, это происходит с ошибкой

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

Только когда я явно импортирую отражать-метаданные в соответствующий файл, ошибка исчезает.Это правильный способ сделать это?Другими словами, нужно ли мне импортировать refle-metadata в каждый файл, который использует его, в отличие от глобального одноразового импорта в ваш основной файл?

Ответы [ 2 ]

0 голосов
/ 19 декабря 2018

ответить на мой собственный вопрос;да, вы должны импортировать его только один раз.Я провел общую перестройку проекта, которая включала в себя замену ts-node на решение rollup и удаление нескольких неиспользуемых пакетов.После этого единственный импорт refle-metada теперь работает.К сожалению, я не могу определить точную причину моей первоначальной проблемы, только то, что она решается сейчас после реорганизации.Возможно, какой-то другой пакет мешал ему.

0 голосов
/ 20 ноября 2018

Да, это потому, что в пакете отраженных метаданных нет экспорта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...