2016-11-17 9 views
1

Я пытаюсь использовать маршруты Lazyload, но вложенные. Но я все еще получаю сообщение об ошибке, что он не находит модуль на маршруте уровня 2.Угловой 2 - Не удается найти модуль в вложенных маршрутах

Вот моя конструкция:

app.module.ts:

import { BrowserModule } from '@angular/platform-browser'; 
import { NgModule } from '@angular/core'; 
import { FormsModule } from '@angular/forms'; 
import { HttpModule } from '@angular/http'; 
import { routing } from './app.routes'; 
import { AppComponent } from './app.component'; 
import { RouterModule } from '@angular/router'; 

@NgModule({ 
    declarations: [ 
    AppComponent, 
    AuthComponent 
    ], 
    imports: [ 
    BrowserModule, 
    FormsModule, 
    HttpModule, 
    routing 
    ], 
    exports: [RouterModule], 
    providers: [], 
    bootstrap: [AppComponent] 
}) 
export class AppModule { } 

app.routes.ts

import { Router, RouterModule} from '@angular/router'; 
import { AuthGuard } from './Auth/Services/auth-guard.service'; 
import { AuthComponent } from './Auth/auth.component'; 

export const routing = RouterModule.forRoot([ 
    { path: '', redirectTo: "portal", pathMatch: 'full'}, 
    { path: 'portal', loadChildren: './Portal/portal.module#PortalModule'}, 
    { path: '**', redirectTo: "portal"} 
]) 

портал/portal.module.ts:

import { NgModule } from '@angular/core'; 
import { routing } from './portal.routes'; 
import { PortalComponent } from './portal.component'; 
import { FormsModule,ReactiveFormsModule } from '@angular/forms'; 
import { RouterModule } from '@angular/router'; 
import { CommonModule } from '@angular/common'; 

@NgModule({ 
    imports: [ 
    CommonModule, 
    FormsModule, 
    ReactiveFormsModule, 
    routing 
    ], 
    exports: [ RouterModule ], 
    declarations: [ 
    PortalComponent 
    ], 
    providers: [ 
    ] 
}) 
export class PortalModule { } 

Портал/portal.routes.ts:

import { Router, RouterModule} from '@angular/router'; 
import { PortalComponent } from './portal.component'; 

export const routing = RouterModule.forChild([ 
    { path: '', redirectTo: "reports"}, 
    // This Part doesn't work 
    { path: 'reports', component: PortalComponent, loadChildren: './Portal/Test/test.module#TestModule'}, 
    // -- 
    { path: '**',component: PortalComponent, pathMatch: 'full'} 
]) 

портал/Test/test.module.ts:

import { NgModule } from '@angular/core'; 
import { routing } from './test.routes'; 
import { TestComponent } from './test.component'; 
import { FormsModule,ReactiveFormsModule } from '@angular/forms'; 
import { RouterModule } from '@angular/router'; 
import { CommonModule } from '@angular/common'; 

@NgModule({ 
    imports: [ 
    CommonModule, 
    FormsModule, 
    ReactiveFormsModule, 
    routing 
    ], 
    exports: [ RouterModule ], 
    declarations: [ 
    TestComponent 
    ], 
    providers: [ 
    ] 
}) 
export class TestModule { } 

портал/Test/test.routes:

import { Router, RouterModule} from '@angular/router'; 
import { TestComponent } from './test.component'; 

export const routing = RouterModule.forChild([ 
    { path: '', redirectTo: "reports"}, 
    { path: 'reports', component: TestComponent}, 
]) 

Моя ошибка:

EXCEPTION: Uncaught (in promise): Error: Cannot find module './Portal/Test/test.module'. 
Error: Cannot find module './Portal/Test/test.module'. 

Мои Вопрос в том, почему он не находит модуль? Я пробовал и другие пути, но это я единственный, который действительно может работать, я думаю.

Что мне нужно сделать, чтобы исправить или является угловым 2, не в состоянии это сделать?

(Ошибка только testet с нг служить не с строением | Testet с Chrome)

+0

делает этот путь работы? {path: 'reports', компонент: PortalComponent, loadChildren: './Test/test.module#TestModule'}? –

+0

Нет, я действительно пробовал близко ко всему –

+0

почему у вас есть этот компонент: PortalComponent? в {path: 'reports', component: PortalComponent, loadChildren: './Test/test.module#TestModule'} –

ответ

0

Не уверен, если это может помочь, но так, как я делаю модули, чтобы назвать каждый модуль файла index.ts и просто указать путь к папке при их ссылке. У меня никогда не было проблем с отсутствием модулей. Взгляните на https://github.com/AngularClass/angular2-webpack-starter/tree/master/src/app на пример загрузки асинхронных модулей.

+0

Ваш git - это не та же конструкция потому что есть только 1 уровень детей –

0

Этот вопрос был на старом @ Угловое/маршрутизатор я обновил теперь к 3.2.0 Befor я имел 3.1.0

Смежные вопросы