2017-01-27 1 views
1

실패 새 해시 파일 이름이있는 파일. 나는 우분투 서버에서 아파치 2를 통해 dist 폴더를 제공하고있다. 나는 새로운 빌드를 만들어 내 서버에서 새 파일을 제공 할 때Angular2 NG 빌드 문제 :로드 청크는 X 난 항상 모든 새로운 덩어리, 공급 업체를 생성하고 번들 명령 위</p> <p>--aot 다음 PARAMS와 NG 빌드 --prod --env = 생산을 내 각 응용 프로그램을 구축하고

내 문제, 내 모든 사용자는 내가 페이지 모든 것이 잘 작동 새로 고침 한 후 다음과 같은 오류가

Unhandled Promise rejection: Loading chunk 2 failed. ; Zone: angular ; Task: Promise.then ; Value: Error: Loading chunk 2 failed 

Cannot read property 'map' of undefined 

을 얻기 위해 시작하지만 전까지 다음 모든 사용자가 흰색 화면을 봅니다. 이 오류를 처리하고 코드를 자동으로 페이지를 다시로드 할 수있는 방법이 있습니까? 다음과 같이

angular-cli: 1.0.0-beta.24 
node: 6.2.2 
os: darwin x64 
@angular/common: 2.4.3 
@angular/compiler: 2.4.3 
@angular/core: 2.4.3 
@angular/forms: 2.4.3 
@angular/http: 2.4.3 
@angular/platform-browser: 2.4.3 
@angular/platform-browser-dynamic: 2.4.3 
@angular/router: 3.4.3 
@angular/compiler-cli: 2.4.3 

답변

-1

나는이 문제를 해결 :

import {Injectable} from '@angular/core'; 
import {ExtraOptions} from "@angular/router"; 
import {ErrorHandler} from "@angular/router/src/router"; 

@Injectable() 
export class CustomRoutingExtraOptions implements ExtraOptions { 

    public errorHandler: ErrorHandler; // Overwrites attribute in ExtraOptions! 

    constructor(/* inject any services you need here.. */) { 
     this.errorHandler = error => { 
      console.error('routing error: ', error); 
      // any other custom handling.. 
     } 
    } 
} 

을 당신은 다음과 같이 모듈에서이 서비스를 등록해야합니다 : 당신이 원하는대로 당신은 당신이 어떤 오류 처리를 수행 할 수 ExtraOptions의 사용자 지정 구현을 제공 할 수 있습니다 (당신이 단순한 오류 처리를 필요로하는 경우)

는 또한
import {ROUTER_CONFIGURATION} from "@angular/router"; 

@NgModule({ 
    declarations: [ 
     .. 
    ], 
    imports: [ 
     RouterModule.forRoot({...}) 
     ... 
    ], 
    providers: [ 
     {provide: ROUTER_CONFIGURATION, useClass: CustomRoutingExtraOptions}, 
     ... 
    ], 

}) 
export class AppModule { 
} 

직접의 두 번째 매개 변수에 오류 처리기를 제공 할 수 있습니다.

관련 문제