angular - CHYBA TypeError: Konstruktor třídy EventEmitter_ nemůže být volán bez 'new'
Po aktualizaci na Angular 10 dostávám následující chybu u některých komponent -
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)
Kód, který způsobuje tento problém -
import { EventEmitter } from "@angular/core";
export class ZoneAwareEventEmitter extends EventEmitter {
constructor(ngZone, isAsync = false) {
super(isAsync);
this.ngZone = ngZone;
}
}
Chybí mi něco?
Předem děkuji za pomoc!
Odpověď č. 1
Přidejte toto do konfigurace Webpack:
resolve: {
mainFields: ['es2015', 'browser', 'module', 'main']
},
Problém nastává při sestavování Webpacku v projektech používajících Kendo Angular Grid. Výchozí konfigurace Webpacku vyřeší modul fesm5 z node_modules/@progress/kendo-angular-grid, který se snaží rozšířit třídu EventEmitter pomocí es5, což způsobí chybu. Změna vlastnosti mainFields v resolve uvnitř konfigurace Webpacku tak, aby upřednostňovala moduly es2015, tento problém vyřešila.
