![](/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.