2017-09-08 27 views
6

Rozbudowa kątowa CLI do 1.3.1 mam pewne ostrzeżenia terazkątowe 4 Circular zależność

ostrzeżenie w Circular uzależnienia wykryte: src \ app \ work-sesje \ work-session-lista \ work-session -list.routing.ts -> src \ app \ work-sessions \ work-session-list \ index.ts -> src \ app \ work -sessions \ work-session-list \ work-session-list.routing. ts

Każde zajęcia mają strukturę takiego:

enter image description here

work-session-list.routing.ts

import { Route } from '@angular/router'; 
import { WorkSessionListComponent } from './index'; 

export const WorkSessionRoutes: Route[] = [ 
    { 
    path: '', 
    component: WorkSessionListComponent 
    }, 
]; 

Index.ts

export * from './work-session-list.component'; 
export * from './work-session-list.routing'; 

robocze sesje-list.module.ts

import { WorkSessionListComponent } from './work-session-list.component'; 
import { WorkSessionRoutes } from './work-session-list.routing'; 
import { DataTableModule } from 'primeng/primeng'; 
import { CommonModule } from '@angular/common'; 
import { NgModule } from '@angular/core'; 
import { FormsModule } from '@angular/forms'; 
import { RouterModule } from '@angular/router'; 

@NgModule({ 
    imports: [RouterModule.forChild(WorkSessionRoutes), CommonModule , FormsModule], 

    declarations: [WorkSessionListComponent], 
    exports: [WorkSessionListComponent] 
}) 

export class WorkSessionListModule { } 

niż w app.routing.ts

export const AppRoutes: Routes = [ 
     { 
     path: 'workSession', 
     loadChildren: './work-sessions/work-session-list/work-session-list.module#WorkSessionListModule' 
     } 
. 
. 
. 

aw app.module

@NgModule({ 
imports: [ 
CommonModule, 
BrowserAnimationsModule, 
FormsModule, 
RouterModule.forRoot(AppRoutes), 
}) 
    ], 
    declarations: [ 
    AppComponent 
    ] 
    bootstrap: [AppComponent] 
}) 
export class AppModule {} 

Jak mogę rozwiązać ten problem? To działa, ale mam dużo ostrzeżeń

Odpowiedz

12

Jak mówi ostrzeżenie, work-session-list.routing.ts zależy index.ts:

import { WorkSessionListComponent } from './index'; 

I index.ts zależy work-session-list.routing.ts:

export * from './work-session-list.routing'; 

Pierwsza zależność nie jest to konieczne, ponieważ można zaimportować WorkSessionListComponent bezpośrednio z jego pliku źródłowego:

import { WorkSessionListComponent } from './work-session-list.component'; 

Ta zmiana powinna rozwiązać problem.

+0

Czy mogę wyeliminować plik indeksu? – Alessandro

+2

Pliki 'index.ts' są znane jako" beczki ", które były użyteczne przed Angular2 R.C. 5, ponieważ w tym czasie nie było NgModules. Beczki były jedynym rozwiązaniem pozwalającym uniknąć niezliczonej ilości importu/eksportu. Teraz, gdy mamy moduły, są one przestarzałe. https://angular.io/guide/glossary#barrel –

+0

spowoduje to coś nie tak? Otrzymuję to samo ostrzeżenie po aktualizacji cli –