Angular 9 Ivy - ประเภททั่วไป 'ɵɵFactoryDef' ต้องการอาร์กิวเมนต์ 2 ประเภท


17

ดูเหมือนว่า Angular Ivy ยังไม่พร้อม ฉันพยายามที่จะสร้างโครงการของฉันโดยใช้ไม้เลื้อยซึ่งเป็นแนวคิดหลักสำหรับเชิงมุม 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>;

ข้อผิดพลาดนานกว่าที่ฉันเขียนไว้ด้านบนฉันใช้เวลาของฉันในการค้นหาปัญหานี้อย่างดีไม่มีอะไรบนโต๊ะ แต่ปิดใช้งาน ivy ซึ่งไม่ใช่ตัวเลือกที่ดี

คำตอบ:


13

โชคดีที่ Angular 9.1 ได้รับการเผยแพร่และแก้ไขปัญหาได้แล้ว หลังจากอัพเกรดเป็น 9.1 ฉันลบ node_modules และติดตั้งอีกครั้ง แล้วฉันจะอัพเกรด typescript ของฉันจากไป3.7.5 3.8.3ตอนนี้ ngcc ทำงานได้ดีและฉันไม่มีข้อผิดพลาดหลังการสร้าง

สำหรับข้อมูลเพิ่มเติม: เวอร์ชันเชิงมุม 9.1


คำสั่ง postinstall ที่สมบูรณ์ของคุณคืออะไร มันก็เป็นเพียง"postinstall":"ngcc"??
harishr

@harishr ใช่มันคือ "ngcc" ถ้าคุณกำลังอัพเกรดอย่าใช้จุดเข้า เพียงอยู่กับ ncccc
Yazan Mehrez

ฉันกำลังยังคงเผชิญปัญหา ... ต้องกลับไปใช้ 9.0.5 เพื่อแก้ไขปัญหา
harishr

1
ใช่ฉันทำอย่างนั้น ... ฉันได้รับการปรับปรุง typescript n แพ็คเกจอื่น ๆ ทั้งหมด ลบ node_modules และติดตั้งใหม่ทุกอย่าง แต่ยังคงได้รับข้อผิดพลาดเดียวกันกับที่คุณพูดถึงในคำถามของคุณ ฉันต้องล้างแคชทั่วโลกหรือไม่
harishr

1
ใช่เอา node_modules และnpm cache verifyทำเคล็ดลับให้ฉัน
Mattijs
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.