No se puede configurar la historia para el módulo donde se usa routerLink debido a un error
ERROR NullInjectorError: StaticInjectorError(DynamicModule)[RouterLinkActive -> Router]
Para reproducir Pasos para reproducir el comportamiento: demo-app Ejecute la aplicación y puede probar que no hay una solución posible para agregar RouterModule para trabajar con la historia. No se puede configurar con RouterTestingModule , RouterModule , RouterModule.forRoot con la ruta iframe.html . Siempre hay el mismo error sobre el proveedor faltante.
Comportamiento esperado Para ejecutar la aplicación y la historia con routerLink
Contexto adicional Última versión de storybook 5.3.3 y angular ~8.2.14 Estaba trabajando con una configuración diferente 5.2.8 y este problema no aparece.
¿Cómo configurar este módulo? ¿Hay algún problema en Storybook?
Storybook funciona de manera diferente a angular, por lo que no necesito inyectar FeatureModule en la historia, Component está bien. Cuando solo se inyecta NavbarComponent con RouterTestingModule
la configuración de la historia se ve así
storiesOf('Navbar', module) .addDecorator( moduleMetadata({ imports: [BrowserAnimationsModule, RouterTestingModule], declarations: [NavbarComponent], }), )Y no necesitas configuración de rutas xD
Hice los siguientes cambios:
RouterModule incluida la matriz de rutas (utilizada para definir sus rutas)navbar.módulo.ts
const routes: Routes = []; @NgModule({ declarations: [NavbarComponent], imports: [ CommonModule, RouterModule.forRoot(routes) ], providers: [{provide: APP_BASE_HREF, useValue: '/'}], exports: [NavbarComponent] }) export class NavbarModule { } Después de eso, solo necesita agregar <router-outlet></router-outlet> en su NavbarComponent