gpt4 book ai didi

angular - 删除未使用的 Angular 模块依赖项(导入和提供程序)

转载 作者:太空狗 更新时间:2023-10-29 17:39:03 27 4
gpt4 key购买 nike

假设我有 SharedComponents 模块。在这个模块中有一个 SomeView 组件。该组件使用了 DirectivesModule 中的指令 SomeDirective。我有这样的东西:

@NgModule({
imports: [DirectivesModule, ...],
declarations: [SomeView, ...],
...
})

然后我需要将 SomeView 移动到其他模块。这给我留下了:

@NgModule({
imports: [DirectivesModule, ...],
declarations: [...],
...
})

没有其他声明的元素使用 DirectivesModule。它不再需要了,所以我想删除它。但是我不能说在不研究所有其他声明的情况下删除是安全的。

所以我的问题是:有没有办法确定给定的模块导入或提供程序是否可以安全删除?在我正在进行的一个项目中,一个模块可以加载二十个其他模块,保持它的清洁确实是一项艰巨的任务。

最佳答案

So my question is: is there a way to find if given module import or provider is safe to delete? In a project I am working on, where one module can load twenty others, keeping it clean is really hard task.

单元测试是唯一已知的验证模块是否可以安全移除的方法。 Angular 无法 self 检测模块使用情况的解释相当复杂,但请记住,模块可以转发 内部模块。因此一个模块可能有许多子模块的导出。由于可以在运行时使用 injector.get(myService) 解析提供程序,这变得更加困难。这使得查找用法变得极其困难,因为无法通过查看源代码来了解正在使用哪个注入(inject)器。

如果您只有最少的单元测试来验证可以创建组件,那么您就会知道移除模块是否会破坏单元测试。

关于angular - 删除未使用的 Angular 模块依赖项(导入和提供程序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48883585/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com