项目工作没有任何问题,但升级到Angular 12后,我得到奇怪的错误:error在ConfirmDialogComponent不能被用作入口组件执行ng serve
.
奇怪的是,去模块的入口组件声明,只是保存它(强制重建),消除了错误。但是,这只能在服务器终止并且再次执行ng serve
之前有效。然后必须再次执行保存工作。
这是有错误的模块:
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { GridModule } from '@progress/kendo-angular-grid';
import { TooltipModule, TooltipSettings } from '@progress/kendo-angular-tooltip';
import { DialogModule } from '@progress/kendo-angular-dialog';
import { DropDownsModule } from '@progress/kendo-angular-dropdowns';
import { TabStripModule } from '@progress/kendo-angular-layout';
import { ConfirmDialogComponent, AlertDialogComponent } from '@reasult/angular-common';
import { SharedModule } from '../shared/shared.module';
@NgModule({
imports: [
CommonModule,
GridModule,
TooltipModule,
DialogModule,
DropDownsModule,
TabStripModule,
SharedModule
],
providers: [TooltipSettings],
entryComponents: [ConfirmDialogComponent, AlertDialogComponent]
})
export class DesignModule {}
总是entryComponents
中的第一个分量得到错误。即使我改变了数组中组件的顺序。
不确定要提供什么额外的细节-一旦有人给提示,我会编辑问题。
有人知道是什么引起的吗?
尝试进入ts.config.json
并定义以下内容,以便禁用Ivy编译
"angularCompilerOptions": {
"enableIvy": false
},
可能是ng serve
期间的ivy编译器失败
如angular文档所述
条目组件已被Ivy呈现引擎弃用