Когда вы асин c импортируете какой-либо модуль в свой код, типы этого модуля видны только в области действия переменной, которую вы присвоили при импорте. В вашем случае asyncFirestore
имеет только определенный тип c в теле анонимной функции, в которой она объявлена. За пределами этой функции TypeScript видит ее как any
, потому что вызывающий код не импортировал тип.
Также я думаю, что webpack не поможет вам динамически узнать окончательный путь модуля, так как он будет искажать имена этих модулей, чтобы выполнить свою работу. Stati c import не имеет такой проблемы, поскольку webpack может определить, что вы хотите во время компиляции.
Возможно, вы захотите рассмотреть совершенно другую стратегию. Одним из них было бы ввести модуль, который полностью работает с Firebase, использовать stati c import, чтобы получить все типы Firebase для использования только в этом модуле, и экспортировать только другие типы объектов, которые являются результатом API Firebase.