HMR 失败,Angular 9 + IVY:类型应用组件是 2 个模块声明的一部分:AppModule 和 AppMo



受影响的软件包

HMR + 常春藤

这是回归吗?

在常春藤之前,它有效

描述

似乎常春藤和HMR不能很好地配合使用?但是我看到他们的门票已经关闭,所以我想这应该是可能的。 代码更改后我重新加载:

未处理的承诺拒绝:类型 AppComponent 是 2 个模块的声明:应用模块和应用模块!请考虑 将应用程序组件移动到导入应用程序模块和 应用模块。您还可以创建一个新的 NgModule 来导出和 包括AppComponent,然后将该NgModule导入AppModule和 应用模块。 类型背景是 2 个模块声明的一部分:应用模块 和应用模块!请考虑将背景移动到更高的模块 导入 AppModule 和 AppModule。您还可以创建一个新的 导出并包含背景的 NgModule 然后导入该 NgModule in AppModule 和 AppModule。

我们可以看到其他人如何更好地调查: https://www.gitmemory.com/issue/storybookjs/storybook/8494/551763214

🌍 当前环境

角度版本:

NG 9.0.1

命令行界面 9.0.1

在angular.json 配置文件中打开 AOT,应该可以做到

这是其中的结构:

{
"projects": {
"x": {
"architect": {
"build": {
"options": {
"aot": true,
},
"configurations": {
"local": {
"aot": true
},

或者,仅出于测试目的,您可以使用aot标志代替运行

ng serve --aot=true

更新

从 Angular 版本 11 开始,它再次功能齐全

## 更新请注意,这只是修复,因此您现在可以实际处理您的项目。角度团队正在研究解决方案,以便我们可以尽快恢复全面的 HMR 支持。

在此处查找角度存储库中的相关问题 https://github.com/angular/angular/issues/35265

在这里为 PR 提出修复它(仍在草稿中( https://github.com/angular/angular/pull/37474

最新更新