ОШИБКА TypeError: конструктор класса EventEmitter_ не может быть вызван без 'new'
После обновления до Angular 10 я получаю следующую ошибку для некоторых компонентов -
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)
Код, вызывающий эту проблему -
import { EventEmitter } from "@angular/core";
export class ZoneAwareEventEmitter extends EventEmitter {
constructor(ngZone, isAsync = false) {
super(isAsync);
this.ngZone = ngZone;
}
}
Я что-то пропустил?
Заранее спасибо за помощь!
1 ответ
Добавьте это в конфигурацию Webpack:
resolve: {
mainFields: ['es2015', 'browser', 'module', 'main']
},
Проблема возникает при сборке Webpack в проектах, использующих Kendo Angular Grid . Конфигурация Webpack по умолчанию разрешает
fesm5
модуль из
node_modules/@progress/kendo-angular-grid
, который пытается расширить класс EventEmitter с помощью es5 и приводит к ошибке. Изменение
mainFields
собственностью
resolve
внутри конфигурации Webpack для определения приоритетов
es2015
модули исправили это для меня.