Angular2: пакет Rollupjs с относительными путями в классе компонентов

Чтобы поддерживать i18n, как описано здесь, я должен поддерживать AOT и, следовательно, использовать относительные templateUrl и styleUrls в моих компонентах и ​​установить moduleId: module.id.

Это идеально подходит для моей сборки dev, которая не объединяет и загружает файлы с помощью systemjs (создана с использованием gulp).

  1. скомпилировать машинописный текст: `цель: es5, модуль: commonjs'

В производственной сборке я использую rollup.js для встряхивания дерева и объединения. Здесь мне нужно выполнить шаги компиляции, поскольку для свертки нужны модули es2015, а браузеру (и для того, чтобы установить module.id в компонентах) нужен common.js

  1. скомпилировать машинопись: target: es5, module: es2015
  2. пакет с rollup.js: format: iife
  3. снова скомпилировать машинопись: target: es5, module: commonjs, allowJs: true

При этом я получаю следующую ошибку при запуске приложения: не удалось загрузить app.component.html

Информация о версии:

  • угловой: 2.2.1
  • машинопись: 2.0.10
  • накопительный пакет: 0.36.3

Кто-нибудь знает, в чем причина проблемы? Большое спасибо за твою помощь


person tschuege    schedule 23.11.2016    source источник
comment
У меня точно такая же проблема, вы нашли как ее решить?   -  person DicBrus    schedule 28.12.2016
comment
@DicBrus К сожалению, нет ... Я отложил эту тему. Но скоро мне придется найти решение. Я также думаю о переходе на Angular CLI/Webpack, потому что надеюсь не столкнуться с таким количеством проблем, как с gulp/system.js.   -  person tschuege    schedule 28.12.2016
comment
Если я правильно понял, это проблема SystemJS Builder github.com/systemjs/builder/issues/737.   -  person DicBrus    schedule 29.12.2016
comment
похоже, вот решение stackoverflow.com/questions/37497635/   -  person DicBrus    schedule 03.01.2017