angular 独立的迁移的prune-ng-modules模式不会更新独立的导入,

yyhrrdl8  于 3个月前  发布在  Angular
关注(0)|答案(1)|浏览(69)

哪个@angular/*包是bug的来源?

core

这是个回归吗?

描述

独立迁移的 prune-ng-modules 在被独立组件引用时,当修剪后的NgModule没有正确更新导入。以下代码:

@Component({
  standalone: true,
  template: `<app-child/>`,
  imports: [ChildModule]
})
class App {
}

@Component({
  selector: 'app-child',
  standalone: true,
  template: `...`,
})
class Child {
}

@NgModule({
  imports: [Child],
  exports: [Child]
})
class ChildModule {}

产生:

@Component({
  standalone: true,
  template: `<app-child/>`,
  imports: []
})
class App {
}

@Component({
  selector: 'app-child',
  standalone: true,
  template: `...`,
})
class Child {
}

并破坏了应用程序,而它应该产生:

@Component({
  standalone: true,
  template: `<app-child/>`,
  imports: [Child]
})
class App {
}

@Component({
  selector: 'app-child',
  standalone: true,
  template: `...`,
})
class Child {
}

请提供一个最小复现错误的链接

https://github.com/yjaaidi/experiments/tree/repro-prune-ng-modules-standalone

请提供您看到的异常或错误

  • 无响应*

请提供您发现此bug的环境(运行 ng version )

Angular CLI: 16.2.0
Node: 20.0.0 (Unsupported)
Package Manager: pnpm 8.6.2
OS: darwin x64

Angular: 16.2.0
... animations, cli, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, router

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1602.0
@angular-devkit/build-angular   16.2.0
@angular-devkit/core            16.2.0
@angular-devkit/schematics      16.2.0
@schematics/angular             16.2.0
rxjs                            7.8.0
typescript                      5.1.3
zone.js                         0.13.0

还有其他信息吗?

  • 无响应*
aemubtdh

aemubtdh1#

我看到了类似的情况。尽管我的设置不同,我运行了一个由nx(nx.dev)驱动的monorepo。我正在将我们的库转换为独立组件的过程中。第一步,生成器,将库的内部转换为独立组件的工作正常。但是当我运行第二步(prune-ng-modules)时,生成器只是更新并删除模块,但它没有用独立组件的导入替换import。

相关问题