2016-09-09 10 views
1

Я пытаюсь воспользоваться новым компилятором AOT, доступным в RC.6, но столкнулся с блокировщиком. Я могу успешно создать пакет с МСС => Rollup => Бабель, однако каждый раз, когда я бегу Rollup я получаю несколько предупреждений:Почему ngc + Rollup в комплекте Угловая 2 RC.6-маршрутизация не работает?

The 'this' keyword is equivalent to неопределенными at the top level of an ES module, and has been rewritten

Пучок успешно завершается. Такая же база кода отлично работает с компиляцией JIT. Угловое 2 приложения бутстрап и быстро, но каждый раз, когда я пытаюсь перейти на другой путь, кроме корня, я получаю эту ошибку:

`` `

bundle.js:2781 EXCEPTION: Uncaught (in promise): EmptyError: no elements in sequenceErrorHandler.handleError @ bundle.js:2781 
bundle.js:2781 ORIGINAL STACKTRACE:ErrorHandler.handleError @ bundle.js:2781 
bundle.js:2781 Error: Uncaught (in promise): EmptyError: no elements in sequence 
    at resolvePromise (zone.js:558) 
    at zone.js:535 
    at ZoneDelegate.invoke (zone.js:332) 
    at Object.onInvoke (bundle.js:3549) 
    at ZoneDelegate.invoke (zone.js:331) 
    at Zone.run (zone.js:225) 
    at zone.js:591 
    at ZoneDelegate.invokeTask (zone.js:365) 
    at Object.onInvokeTask (bundle.js:3549) 
    at ZoneDelegate.invokeTask (zone.js:364)ErrorHandler.handleError @ bundle.js:2781 
zone.js:484 Unhandled Promise rejection: no elements in sequence ; Zone: angular ; Task: Promise.then ; Value: Error: no elements in sequence 
    at new EmptyError (bundle.js:7019) 
    at FirstSubscriber._complete (bundle.js:7071) 
    at FirstSubscriber.complete (bundle.js:3410) 
    at MergeAllSubscriber._complete (bundle.js:6854) 
    at MergeAllSubscriber.complete (bundle.js:3410) 
    at MapSubscriber._complete (bundle.js:3410) 
    at MapSubscriber.complete (bundle.js:3410) 
    at EmptyObservable._subscribe (bundle.js:6598) 
    at EmptyObservable.subscribe (bundle.js:3441) 
    at Observable.subscribe (bundle.js:3441) EmptyError: no elements in sequence 
    at new EmptyError (http://localhost:4200/bundle.js:7019:243) 
    at FirstSubscriber._complete (http://localhost:4200/bundle.js:7071:1680) 
    at FirstSubscriber.complete (http://localhost:4200/bundle.js:3410:99) 
    at MergeAllSubscriber._complete (http://localhost:4200/bundle.js:6854:783) 
    at MergeAllSubscriber.complete (http://localhost:4200/bundle.js:3410:99) 
    at MapSubscriber._complete (http://localhost:4200/bundle.js:3410:547) 
    at MapSubscriber.complete (http://localhost:4200/bundle.js:3410:99) 
    at EmptyObservable._subscribe (http://localhost:4200/bundle.js:6598:234) 
    at EmptyObservable.subscribe (http://localhost:4200/bundle.js:3441:223) 
    at Observable.subscribe (http://localhost:4200/bundle.js:3441:187)consoleError @ zone.js:484 
zone.js:486 Error: Uncaught (in promise): EmptyError: no elements in sequence 
    at resolvePromise (zone.js:558) 
    at zone.js:535 
    at ZoneDelegate.invoke (zone.js:332) 
    at Object.onInvoke (bundle.js:3549) 
    at ZoneDelegate.invoke (zone.js:331) 
    at Zone.run (zone.js:225) 
    at zone.js:591 
    at ZoneDelegate.invokeTask (zone.js:365) 
    at Object.onInvokeTask (bundle.js:3549) 
    at ZoneDelegate.invokeTask (zone.js:364) 

` ``

NGC компилируется без любые предупреждения или ошибки.

Мой rollup.config.js выглядит следующим образом:

`` `

// rollup.config.js 
import alias from 'rollup-plugin-alias'; 
import resolve from 'rollup-plugin-node-resolve'; 


export default { 
    entry: 'main.js', 
    format: 'iife', 
    dest: 'dist/bundle.es2015.js', 
    sourceMap: false, 
    plugins: [ 
    alias({ rxjs: __dirname + '/node_modules/rxjs-es' }), 
    resolve({ module: true }) 
    ] 
} 

` ``

когда transpiling сверток ES2015 вниз к ES5 с Вавилонской я получаю следующее предупреждение :

[BABEL] Note: The code generator has deoptimised the styling of "./dist/bundle.es2015.js" as it exceeds the max of "100KB".

Что может п возможно, проблема?

С уважением, Стив

+0

У меня такая же проблема, а даже без АОТ. tsc (es6/es2015) -> rollup -> es5. Маршрутизатор не работает для определенного маршрута (приложение загружается нормально, а несколько других маршрутов работают), но пока не удается выяснить, почему. – agsqwe

ответ

0

я не мог получить Бабеля 6.5.2 правильно transpile сверток. По совету Роба Уормальда я попытался перевести вывод пакета ES2015 из Rollup с Closure Compiler, и он сработал. Кажется, что только версия Java стабильна, но когда версия JS будет работать плавно, я планирую ее интегрировать с моим rollup.config.js. Прямо сейчас я обрабатываю сборку через ряд асинхронных обратных вызовов в сценарии npm.

https://github.com/steveblue/angular2-rollup

https://developers.google.com/closure/compiler

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

  • Нет связанных вопросов^_^