Ocurrió una excepción no controlada: Valor inesperado ‘HeaderModule’. Por favor, agregue una anotación @NgModule.
Tengo un problema extraño.
Creo diferentes bibliotecas para mi proyecto y cada biblioteca es un widget de mi aplicación. Todos los widgets tienen el mismo encabezado con un título y algunos botones. Por lo tanto, creo otra biblioteca llamada “header” que es importada por cada widget. Supongamos que tengo el widget1 y el widget2.
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { HeaderComponent } from './header.component';
@NgModule({
declarations: [HeaderComponent],
imports: [
CommonModule,
....
],
exports: [HeaderComponent]
})
export class HeaderModule { }
Y en el archivo “public-api.ts”, exporto el HeaderComponent y el HeaderModule de la siguiente manera:
export * from './lib/header.component';
export * from './lib/header.module';
Después de construir e instalar correctamente mi biblioteca Header, importo el módulo en el módulo del widget1 de la siguiente manera:
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { HeaderModule } from 'header';
@NgModule({
declarations: [Widget1Component],
imports: [
CommonModule,
HeaderModule
....
],
exports: [Widget1Component]
})
export class Widget1Module { }
Y esto funciona bien, el widget1 importa el encabezado y la construcción no muestra ningún error. Cuando importo el encabezado en el widget2 de la misma manera, obtengo este error:
ERROR: Valor inesperado 'HeaderModule in .../dist/header/lib/header.module.d.ts' importado por el módulo 'Widget2 en .../angular-proj-lib/projects/widget1/src/lib/widget1.module.ts'. Por favor agregar una anotación @NgModule.
Ocurrió una excepción no gestionada: Valor inesperado 'HeaderModule in .../dist/header/lib/header.module.d.ts' importado por el módulo 'Widget2 en .../angular-proj-lib/projects/widget1/src/lib/widget1.module.ts'. Por favor agregar una anotación @NgModule.
Ver "...\AppData\Local\Temp\ng-IXlNtE\angular-errors.log" para más detalles.
No entiendo por qué en todos los demás widgets (3, 4, 5, …) en los que importé HeaderModule no hay problemas. Verifiqué si hay diferencias entre el widget2 y todos los demás widgets en “tsconfig.lib.json” y en las “peerDependencies” del archivo “package.json”, pero no encontré nada extraño.
Lamento no poder proporcionar más código, pero no me siento muy cómodo con las bibliotecas.
davy.ai
Parece que puede haber un problema con la anotación @NgModule en el módulo Widget2. El mensaje de error sugiere que puede faltar algo en la definición del módulo.
Aquí tienes algunas cosas para verificar:
Dado que el problema parece estar aislado en Widget2, podría ser útil comparar el archivo del módulo con otros módulos funcionales para ver si hay alguna diferencia importante. Si todo lo demás falla, puede haber más información en el registro de errores mencionado en el mensaje de error que podría ayudar a entender el problema.