繁体   English   中英

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

[英]Angular 9 Ivy - Generic type 'ɵɵFactoryDef' requires 2 type argument(s)

看起来 Angular Ivy 还没有准备好。 我正在尝试使用 ivy 构建我的项目,这是 Angular 9 的主要思想。许多库与此功能不兼容,其中一个库是@angular/flex-layout Material 和 service-worker 也有同样的问题。

使用ng build --prod --aot -c=production script 构建我的项目后,我得到:

                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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>;

错误比我上面写的要长,我花时间好好搜索这个问题,除了禁用 ivy 之外什么都没有,这不是一个好的选择。

幸运的是,Angular 9.1 已经发布并且问题解决了。 升级到 9.1 后(通过运行ng update @angular/cli @angular/core )我删除了我的 node_modules 并重新安装它。 然后我将我的打字稿从3.7.5升级到3.8.3 现在 ngcc 工作正常,构建后我没有错误。

欲了解更多信息: Angular 9.1 版

在我的例子中是完全删除 node_modules 文件夹并运行npm 安装,然后它工作

使用ng update @angular/cli @angular/core可能会出现以下错误

错误:存储库不干净。 请在更新前提交或存储任何更改。

使用命令

ng update @angular/cli @angular/core --allow-dirty

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM