Angular 未捕获(承诺中):TypeError:无法读取属性'ɵ;cmp&x27;角度10中未定义的

Angular 未捕获(承诺中):TypeError:无法读取属性'ɵ;cmp&x27;角度10中未定义的,angular,angular10,angular-ivy,Angular,Angular10,Angular Ivy,我得到了这个错误Uncaught(承诺中):TypeError:在尝试加载我刚刚编译的应用程序时,无法读取属性'ɵcmp',未定义在angular中,并且optimization和buildOptimizer都设置为true,当我将两者都设置为false时,问题消失,应用程序加载时没有问题,但应用程序大小更大,性能不符合预期,我需要构建一个同时将optimization和buildOptimizer设置为true的产品,有人能很好地解决此问题吗 angular.json文件: “登台”:{ “文

我得到了这个错误
Uncaught(承诺中):TypeError:在尝试加载我刚刚编译的应用程序时,无法读取属性'ɵcmp',未定义在angular
中,并且optimization和buildOptimizer都设置为true,当我将两者都设置为false时,问题消失,应用程序加载时没有问题,但应用程序大小更大,性能不符合预期,我需要构建一个同时将optimization和buildOptimizer设置为true的产品,有人能很好地解决此问题吗

angular.json文件:

“登台”:{
“文件替换”:[
{
“替换”:“src/environments/environment.ts”,
“with”:“src/environments/environment.staging.ts”
}
],
“优化”:没错,
“输出授权”:“全部”,
“sourceMap”:false,
是的,
“namedChunks”:假,
是的,
“vendorChunk”:假,
“buildOptimizer”:正确,
“预算”:[
{
“类型”:“首字母”,
“最大警告”:“2mb”,
“最大错误”:“5mb”
},
{
“类型”:“anyComponentStyle”,
“最大警告”:“6kb”,
“最大错误”:“10kb”
}
]
}
我在.ts中的代码用于加载动态组件,该部分在生产角度应用程序时不工作,并且有明显错误:

//已创建指令
@ViewChild(RequestsDirective)选项卡主机:RequestsDirective;
建造师(
专用componentFactoryResolver:componentFactoryResolver,
私有viewContainerRef:viewContainerRef,
公共requestsMainService:requestsMainService,
私有微调器:NgxSpinnerService{}
ngOnInit():void{}
//在ng模板中加载组件,在服务中设置请求名称,并隐藏类别-请求类型部分
异步loadTabComponent(_requestid:number,_requestname:string){
//调试器;
//在所有请求中设置请求名称动态
this.requestsMainService.RequestName=\u RequestName;
//隐藏类别和请求类型
$('div_main')。隐藏('slow');
//在应用程序模型中搜索有关组件名称的信息
常量工厂=数组。从(
此.componentFactoryResolver['ngModule']
.instance.constructor.ɵmod.declarations
);
const factoryClass=factories.find(
(x:any)=>x.name==('Request1Component')
)as型;
//清除以前的任何组件
this.viewContainerRef.detach();
this.viewContainerRef.clear();
//按名称获取动态组件
const componentFactory=this.componentFactoryResolver.resolveComponentFactory(factoryClass);
//在ng模板中加载它
this.viewContainerRef=this.tabHost.viewContainerRef;
this.viewContainerRef.createComponent(componentFactory);
}
注意


Request1Component
我要加载的组件的名称是动态的

这个问题看起来像您遇到的吗@c69无我的问题不同我想加载名为在类型脚本中创建的动态组件,并在
中加载此组件我遇到了相同的问题,我相信由于新的常春藤编译器,它只会发生在Angular 9中。到目前为止,我们还没有找到解决这个问题的明确办法。。这篇文章很有帮助,但我没能让它工作@Muhammad我已经格式化了代码,但它仍然不清楚-哪一行抛出了你得到的错误?@c69我的问题是当使用ComponentFactoryResolver在生产中加载动态组件并使这个错误不受破坏时(承诺中):TypeError:无法读取'this.componentFactoryResolver['ngModule'].instance.constructor.ɵmod.declarations'行中未定义的属性'ɵcmp'。此问题与您遇到的问题类似吗@c69无我的问题不同我想加载名为在类型脚本中创建的动态组件,并在
中加载此组件我遇到了相同的问题,我相信由于新的常春藤编译器,它只会发生在Angular 9中。到目前为止,我们还没有找到解决这个问题的明确办法。。这篇文章很有帮助,但我没能让它工作@Muhammad我已经格式化了代码,但它仍然不清楚-哪一行抛出了你得到的错误?@c69我的问题是当使用ComponentFactoryResolver在生产中加载动态组件并使这个错误不受破坏时(承诺中):TypeError:无法读取'this.componentFactoryResolver['ngModule']行中未定义的属性'ɵcmp'。instance.constructor.ɵmod.declarations`