【问题标题】:How to check for unused modules in Angular?如何检查 Angular 中未使用的模块?
【发布时间】:2020-04-18 21:55:40
【问题描述】:

我正在使用 Angular 9,并且我有以下模块声明

const moduleRoutes: Routes = [
  {
    path: '',
    component: HomeComponent,
  }
];

@NgModule({
  declarations: [HomeComponent],
  providers: [HomeService],
  imports: [
    RouterModule.forChild(moduleRoutes),
    CommonModule,
    MatButtonModule,
    FlexLayoutModule,
    RouterModule,
    MatCardModule,
    MatFormFieldModule,
    MatInputModule,
    MatCheckboxModule,
    MatExpansionModule,
  ]
})
export class HomeModule {
}

如何检查是否需要所有“导入”?有什么工具可以帮我处理这个任务吗?

【问题讨论】:

  • 我不知道我通常做的工具是在我完成更改我的源代码后删除所有导入并使用 Rider 的(我认为所有角度支持的 jetbrains 应用程序都可以做到这一点)alt+输入机制以导入所有需要的模块。 (如果缺少模块,骑手也会警告您,因此您可以尝试一个一个地删除它们)

标签: angular


【解决方案1】:

好问题,我必须自己做,肯定有工具可以帮助你:)

  1. 选项 1:npm install -g depcheck

  2. 选项 2:yarn global add depcheck或者如果您使用的是 Yarn

  3. CD 到您希望检查依赖项的文件夹。然后运行:


额外帮助

这里的许多答案都是如何找到未使用的物品。

我想自动删除它们

  1. 安装此节点项目。

    $ npm install -g typescript tslint tslint-etc


  1. 在根目录下,添加一个新文件 tslint-imports.json

    { "extends": [ "tslint-etc" ], "rules": { "no-unused-declaration": true } }


  1. 运行此操作,风险自负,进行备份:)

    $ tslint --config tslint-imports.json --fix --project .

    depcheck

https://www.npmjs.com/package/depcheck#usage

【讨论】:

  • @Gavi 你试过这个吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-02-12
  • 2016-03-23
  • 1970-01-01
  • 2019-06-27
  • 1970-01-01
  • 2020-01-02
  • 1970-01-01
相关资源
最近更新 更多