Angular 9 Ivy-通用类型'ɵɵFactoryDe​​f'需要2个类型参数


17

看起来Angular Ivy尚未准备好。我正在尝试使用ivular构建我的项目,这是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>;

该错误的时间比我上面写的还要长,我花了一些时间对此问题进行了很好的搜索,桌上没有任何东西,但是禁用了常春藤,这不是一个好选择。

Answers:


13

幸运的是,Angular 9.1已经发布,问题得以解决。升级到9.1后,我删除了node_modules并再次重新安装。然后,我将打字稿从升级3.7.53.8.3。现在ngcc工作正常,构建后我没有任何错误。

有关更多信息:Angular版本9.1


您完整的安装后命令是什么?只是"postinstall":"ngcc"吗?
harishr

@harishr是的,它是“ ngcc”,如果要升级,请不要使用入口点。待在ngcc上
Yazan Mehrez

我仍然面临这个问题...必须还原到9.0.5才能解决问题
harishr

1
是的,我做到了……我更新了所有其他软件包的打字稿。删除了node_modules并重新安装了所有内容,但仍然遇到与您在问题中提到的错误完全相同的错误。我需要清除全局缓存吗?
harishr

1
是的,删除了node_modules并npm cache verify帮了我
大忙
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.