angular - GREŠKA TypeError: Konstruktor klase EventEmitter_ ne može se pozvati bez 'new'
Nakon nadogradnje na Angular 10, dobivam sljedeću pogrešku za neke komponente -
ERROR TypeError: Class constructor EventEmitter_ cannot be invoked without 'new'
at new ZoneAwareEventEmitter (index.js:34)
at new GridComponent (index.js:6167)
at createClass (core.js:21921)
at createDirectiveInstance (core.js:21790)
at createViewNodes (core.js:30281)
at callViewAction (core.js:30597)
at execComponentViewsAction (core.js:30516)
at createViewNodes (core.js:30309)
at callViewAction (core.js:30597)
at execComponentViewsAction (core.js:30516)
Kod koji uzrokuje ovaj problem -
import { EventEmitter } from "@angular/core";
export class ZoneAwareEventEmitter extends EventEmitter {
constructor(ngZone, isAsync = false) {
super(isAsync);
this.ngZone = ngZone;
}
}
Nedostaje li mi nešto?
Hvala unaprijed na pomoći!
Odgovor #1
Dodajte ovo u Webpack konfiguraciju:
resolve: {
mainFields: ['es2015', 'browser', 'module', 'main']
},
Problem se javlja u Webpack buildovima u projektima koji koriste Kendo Angular Grid. Zadana Webpack konfiguracija rješava fesm5 modul iz node_modules/@progress/kendo-angular-grid, koji pokušava proširiti klasu EventEmitter koristeći es5 i rezultira greškom. Promjena svojstva mainFields u resolve unutar Webpack konfiguracije kako bi se prioritet dali es2015 modulima riješila je ovaj problem za mene.
