2016-08-24 2 views
0

다음 오류의 원인을 찾으려고합니다. Typescript 컴파일 오류 TS2307 : angular2 rc5 및 ngModule 모듈을 찾을 수 없습니다.

app/src/app.module.ts(13,33): error TS2307: Cannot find module 'src/components/test/test.module 

나는 Angular2 RC5를 사용하여 기능 모듈을 생성 app.module.ts 파일에 수입하고있다. 라우터와 함께 모듈을 느슨하게로드하고 있습니다.

app.module.ts처럼 보이는이

import { NgModule }  from '@angular/core'; 
import { BrowserModule } from '@angular/platform-browser'; 

import { routing } from './app.routes'; 

/* App Root */ 
import { AppComponent } from './app.component'; 

/* Feature module */ 
import { TestModule } from 'src/components/test/test.module'; 


@NgModule({ 
    imports:  [ BrowserModule, routing ], 
    declarations: [ AppComponent ], 
    bootstrap: [ AppComponent ], 
    providers: [] 
}) 

export class AppModule { } 

test.module.ts처럼 보이는이

import { Routes, RouterModule } from '@angular/router'; 

export const routes: Routes = [ 
    { 
     path: '', 
     redirectTo: '/test', 
     pathMatch: 'full' 
    }, 
    { 
     path: 'test', 
     loadChildren: 'src/components/test/test.module' 
    } 

]; 

export const routing = RouterModule.forRoot(routes); 

test.routes.ts

모양처럼

import { NgModule }   from '@angular/core'; 
import { CommonModule }  from '@angular/common'; 

import { TestComponent } from './test.component'; 
import { routing }   from './test.routes'; 

@NgModule({ 
    imports:  [ CommonModule, routing ], 
    declarations: [ TestComponent ], 
    providers: [] 
}) 

export default class TestModule { } 

app.routes.ts 보인다

import { Routes, RouterModule } from '@angular/router'; 

import { TestComponent } from './test.component'; 


const routes: Routes = [ 
    { path: '', 
     component: TestComponent } 
]; 

export const routing = RouterModule.forChild(routes); 

default 키워드로 test.module.ts 파일을 컴파일하려고하면 위의 오류가 나타납니다. 제거하면 오류가 사라집니다. 물론이 경우 필자는 기능 모듈에 지연로드를 사용할 수 없습니다.

누구와도 만날 수 있습니까?

답변

0

코드에 여러 오류가 있습니다. AppModule에서 잘못된 모듈을 가져오고 있습니다. 수출 클래스 이름이 test.module.ts 인 경우 TestModule이지만 AppModuleDashboardModule을 가져오고 있습니다.

대신 :

import { DashboardModule } from 'src/components/test/test.module';

당신은 가져와야는 :

import { TestModule } from 'src/components/test/test.module';

그리고, 물론, 당신은 당신의 AppModule 수입에 TestModule를 추가해야합니다.

+0

아, 내 나쁜 흰색 쓰기 코드 예제. 가리키는 주셔서 감사합니다. 'src/components/test/test.module'에서 가져 오기 {TestModule}을 가져오고 있습니다. 그 외, TestModule의 Lazy 로딩의 경우 AppModule에 추가하지 않아도됩니다. 안 그래? –

+0

다음과 같이 가져 오기에도 추가하십시오.'@NgModule ({ imports : [CommonModule, routing, TestModule] })' –

+0

https://angular.io/docs/ts/latest/guide/ngmodule을 구현하려고합니다. .html #! # lazy-load 분명히하기 위해 더 많은 파일을 추가해야합니다. –

관련 문제