Angular 编译错误:NG6001:该类在 NgModule“AppModule”的声明中列出,但不是指令、组件或管道
在 Angular 开发过程中,我们经常会遇到各种编译错误。其中一个常见的错误是 NG6001,它表明某个类被错误地列在了 NgModule 的声明中,但它并不是一个指令、组件或管道。这个错误通常发生在我们在 AppModule 中声明了一个不应该被声明的类时。什么是 NG6001 错误NG6001 错误是 Angular 编译器在编译过程中发现的一种错误。它的错误信息很明确,告诉我们某个类被错误地列在了 NgModule 的声明中,但它不是一个指令、组件或管道。这个错误的产生通常是因为我们在 AppModule 中声明了一个不应该被声明的类,从而导致编译器无法正确解析该类的用法。案例代码假设我们有一个名为 AppModule 的 NgModule,其中声明了一个名为 MyService 的类:import { NgModule } from '@angular/core';import { MyService } from './my.service';@NgModule({ declarations: [ MyService, // 错误的声明 ], providers: [ MyService, ],})export class AppModule { }在上面的代码中,我们错误地将 MyService 类列在了 declarations 数组中,导致 NG6001 错误的发生。解决 NG6001 错误要解决 NG6001 错误,我们需要检查 AppModule 中的 declarations 数组,并确保只有指令、组件和管道被列在其中。如果我们错误地将其他类型的类列在了 declarations 数组中,我们需要将其从数组中移除。在上面的案例中,要解决 NG6001 错误,我们只需要将 MyService 类从 declarations 数组中移除即可:import { NgModule } from '@angular/core';import { MyService } from './my.service';@NgModule({ declarations: [ // MyService, // 错误的声明 ], providers: [ MyService, ],})export class AppModule { }通过这样的修改,编译器就不会再报 NG6001 错误了。NG6001 错误是 Angular 编译器在编译过程中发现的一种错误,它表明某个类被错误地列在了 NgModule 的声明中,但它不是一个指令、组件或管道。要解决 NG6001 错误,我们需要检查 AppModule 中的 declarations 数组,并确保只有指令、组件和管道被列在其中。通过正确地处理这个错误,我们可以确保我们的 Angular 应用能够正常编译和运行。Copyright © 2025 IZhiDa.com All Rights Reserved.
知答 版权所有 粤ICP备2023042255号