Angular 9 Ivy - Generi c type 'actFactoryDef' требует 2 аргументов типа - PullRequest
17 голосов
/ 28 марта 2020

Похоже, Angular Плющ еще не готов. Я пытаюсь построить свой проект, используя ivy, что является основной идеей для Angular 9. Многие библиотеки не совместимы с этой функцией, одна из этих библиотек - @angular/flex-layout. У материала и работника сервиса такая же проблема.

После использования сценария ng build --prod --aot -c=production для создания моего проекта я получил:

                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
node_modules/@angular/flex-layout/core/typings/media-trigger/media-trigger.d.ts:71:18 - error TS2314: Generic type 'ɵɵFactoryDef' requires 2 type argument(s).

71     static ɵfac: ɵngcc0.ɵɵFactoryDef<MediaTrigger>;
                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
node_modules/@angular/flex-layout/extended/typings/show-hide/show-hide.d.ts:18:18 - error TS2314: Generic type 'ɵɵFactoryDef' requires 2 type argument(s).

18     static ɵfac: ɵngcc0.ɵɵFactoryDef<ShowHideStyleBuilder>;
                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
node_modules/@angular/flex-layout/extended/typings/show-hide/show-hide.d.ts:49:18 - error TS2314: Generic type 'ɵɵFactoryDef' requires 2 type argument(s).

49     static ɵfac: ɵngcc0.ɵɵFactoryDef<ShowHideDirective>;

Ошибка длиннее, чем я написал выше, я Мне потребовалось время на поиск этой проблемы, ничего на столе, кроме отключения плюща, что не очень хороший вариант.

1 Ответ

13 голосов
/ 30 марта 2020

К счастью, Angular 9.1 выпущен и проблема решена. После обновления до 9.1 я удалил свои node_modules и заново установил его. Затем я обновил свою машинопись с 3.7.5 до 3.8.3. Теперь ng cc работает нормально, и у меня нет ошибок после сборки.

Для получения дополнительной информации: Angular Версия 9.1

...