2016-07-15 1 views
1

systemjs 빌더에 내 애플리케이션을 번들로 제공하려고합니다. 그 안에 angular2가있는 "핵심"응용 프로그램입니다. 다른 구성 요소는 코어에 느슨하게로드됩니다. 현재 Iam 번들은 작동하지만 다른 구성 요소는 angular2의 이전 경로를 검색하기 때문에 404를 얻습니다.SystemJS 빌더, Lazyloading을 위해 Angular2가 번들되지 않음

부품을 번들로 묶고 싶지만 angular2가없는 부품은 내 코어에있는 부품을 사용하고 있습니다. 내가 tought buildStatic이 사용하고 있습니까? 나는 js에 ts 파일 만 컴파일하고있다. 내가 뭘하려

일부 조각 :

작동하는 코어를 건물 : 내 index.html을에서

gulp.task('bundle:js', function() { 
    var builder = new SystemBuilder('dist', './src/systemjs.config.js'); 
    return builder.buildStatic('app', 'dist/app.js'); 
}); 

나는 다음 app.js 파일을로드하고 있습니다. 현재 약 2MB입니다. 약 1 내가 JS 파일을 가져 이후

gulp.task('build:static', function() { 
    var builder = new SystemBuilder('', './dist/systemjs.config.js'); 
    builder.buildStatic('dist/start.component.js', 'dist/start.component.static.js', { 
    defaultExtension: 'js', 
    globalName: 'test', 
    globalDeps: { 
    '@angular': '@angular' 
    } 
}); 
}); 

다음 "하드"부분을 이제 404

결과 https://IP/@angular/router-deprecated :

는 그런 게으른로드 된 구성 요소를 검색 , 1MB. 그래서 거기에 angular2가 없다고 생각합니까? 지금 내 응용 프로그램을 시작하려고하면

그것은 나에게 말한다 :

EXCEPTION: Error: Uncaught (in promise): No Directive annotation found on StartComponent 

내 StartComponent의 지시가 있습니다. 내 잘못은 뭐니? 내가 이것을 어떻게 할 수 있을까?

감사합니다.

+0

사용 된 builder.bundle()은 작동했습니다. –

답변

0

"system.bundle()"을 사용하여 작업해야했습니다.

+1

안녕하세요, @ 엄마, 조금 더 설명해 주시겠습니까? 나는 비슷한 문제에 직면하고 있으며 어떻게 해결해야할지 모르겠다. build.bundle()이 문제를 해결하는 이유는 무엇입니까? 나는 또한 질문이있다. http://stackoverflow.com/questions/38944257/create-multiple-bundles-with-systemjs-builder-for-an-angular2-application – David

관련 문제