Что здесь происходит?
Typescript не может явно назвать тип getTapJSONParser
или чего-либо, что этот метод предоставляет внешнему миру. Для этого есть две причины: либо вы не включаете определение для internal.Transform
, либо это определение заменяется локальным определением. В вашем примере, скорее всего, первая из двух возможностей вызывает у вас проблемы.
Теперь в сообщении об ошибке похоже, что машинописный текст правильно определил тип, почему он все еще выдает сообщение об ошибке? Для экспорта чего-либо typecipt должен иметь возможность напрямую ссылаться на тип. Он в основном знает, какой тип он хочет использовать, но просто не может ссылаться на него, поскольку не добавляет никаких дополнительных операторов импорта. Это означает, что если добавление определения типа добавляет тип, который не импортируется, именование не выполняется, вызывая это сообщение об ошибке. Более простой способ подумать об этом: если вы добавите определение типа вручную к экспортируемому материалу, вызовет ли это ошибку, потому что вы явно не импортировали определения типа, которые вы использовали? Если да, вам нужно добавить этот импорт, даже если вы хотите, чтобы машинописный текст определял тип.
Как это исправить?
Во-первых, убедитесь, что у вас нет типа, который internal.Transform
затеняет. Если это не так, import { Transform } from "stream";
(или просто импортируйте все, что экспортирует поток, может быть проще, если вы используете больше, чем просто Transform
).
person
Daniel Klischies
schedule
31.07.2017