![](/img/trans.png)
[英]@angular/forms Generic type 'Type<T>' requires 1 type argument(s)
[英]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.