2017-11-09 12 views
0

AOT 빌드 및 angular2 배치가 처음입니다.ng 빌드 --prod --aot --preserve-symlinks 제공 모듈이 extenal 링크 패키지의 지연로드 모듈에 없습니다.

I 4.6.1 @ 하나의 호스트 애플리케이션 (UI 호스트)이며 I는 두 프로젝트가 1.4.2

@ 각도/CLI @ 6.11.0 @ 노드 NPM를 각도 (2)를 사용하고 다른 하나는 실제 응용 프로그램 (UI 코어)입니다. 나는 링크와 UI 코드를 패키지 및 호스트 응용 프로그램의 내부를 연결 즉

cd frontEnd/UI-Core 

call npm i 
call npm link .\src 

및 호스트 응용 프로그램에서

: - :

"build:prod": "ng build --prod --aot --preserve-symlinks" 

cd UI-Host 

call npm i 
call npm link UI-Core 

call npm run build:prod 

package.json> 스크립트는 다음 항목을 가지고있다

ng 빌드로 실행 중이고 --aot prod 빌드와 함께 첨부 파일에 표시된대로 오류가 발생하여 UI에서 지연로드 모듈을 사용하고 있습니다.

enter image description here

나는 나의 설정에 어떤 문제가 있는지 알아낼 수 없습니다입니다. 아래 코드를 사용하고 있습니다.

frontend/UI-Core: 
---------------- 

ui-core.routing.ts 
-------------------------- 
const routes: Routes = [ 
    { 
     path: 'workflows', 
     canActivate: [AuthGuard], 
     loadChildren: './components/imported/admin/admin.module#AdminModule' 
    }, 
    { path: 'login', component: LogonPageComponent }, 
    { path: '', pathMatch: 'full', redirectTo: 'login' } 
]; 

export const CoreRouting = RouterModule.forChild(routes); 


index.ts 
-------- 
@NgModule({ 
    imports: [ 
    CoreRouting 
    ] 
}) 
export class UICoreModule { 
    static forRoot(): ModuleWithProviders { 
    return { 
     ngModule: UICoreModule, 
     providers: [ 
     AuthService, 
     AuthGuard 
     ] 
    }; 
    } 
} 



Host application (frontend/UI-Host) 
---------------- 

app.module.ts 
------------- 
@NgModule({ 
    imports: [ 
    CUSTOM_IMPORTS 
    ] 
}) 
export class AppModule { } 

custom\custom.app.ts 
---------------------- 
import { UICoreModule } from 'ui-core'; 

export const CUSTOM_IMPORTS: any[] = [ 
    UICoreModule.forRoot() 

답변

0

당신이에 노력하고 있습니다

여기

우리 한 생산 과정의 모든 depecies을 확인하지 것이다, AOT 거짓. 다음을 사용하십시오.

ng 빌드 --prod - aot = false.

+0

감사합니다. --aot를 사용하여 성공적으로 빌드 할 수있는 다른 옵션이 있습니까? –

+0

프로젝트의 모든 것을 해결해야한다. –