Я обновляю наши angular-js libs до последней версии в проекте, использующем ngupgrade (в настоящее время с ng 6, до 7 при обновлении ui-router-hybrid). Мы используем @types, и хотя все должно быть в порядке (я вижу объявление в файле типов), моя ссылка на зависимость - это жалоба на то, что пространство имен «angular» .material не имеет экспортируемый тип.
Я добавил в массив typeRoots файл tsconfig, который находится в основной папке моего приложения, на уровне папки node_modules. Я проверил, что IDialogService действительно находится в папке типов. Я полагаю, что не эта служба является причиной проблемы, поскольку существует множество подобных строк, которые ссылаются на экспортированные элементы, которые существуют.
Running
Angularjs 1.7.5
Материал 1.1.10
узел 8.15.0
нпм 6.4.1
tsc 2.9.2
public static $mdDialog: ng.material.IDialogService = {name: '$mdDialog'};
Одно это не удастся скомпилировать. Подсказка кода отсылает меня к IPresetDialog, который объявлен в том же файле с теми же средствами доступа, что и IDialogService, но он (веб-шторм) отказывается признать службу. И поскольку наша сборка не удалась, я не думаю, что в этом виноват ее реактивный мозг.
Я ожидаю, что он найдет ссылку на модуль / службу и использует ее.
вместо этого я получаю удивительно необоснованный Google:
ошибка TS2694: в пространстве имен '' angular'.material 'нет экспортированного члена' IDialogService '