Angular 6 - AOT-компиляция библиотеки для использования в качестве лениво загружаемого плагина в основном приложении

Я работаю над приложением на основе плагинов, выполненным в Angular 6. У меня есть 2 проекта, основной проект и проект lib, в котором я разрабатываю плагины. Плагины собираются с помощью ng build --prod в UMD, а затем загружаются с помощью SystemJ в основное приложение, где они компилируются с использованием класса Compiler во время выполнения (собранные плагины развертываются на другом сервере). Основное приложение не содержит ссылок на проект lib во время сборки.

Это работает нормально, пока я запускаю основное приложение в режиме разработки. Когда я пробую его в prod, он выдает сообщение "Ошибка: компилятор времени выполнения не загружен" из-за того, что компилятор JIT удаляется в сборке prod.

Мой вопрос: возможно ли построить проект Angular 6 Cli Lib (или не обязательно проект CliBis) заранее, загрузить его с SystemJ, а затем просто использовать фабрики компонентов для создания динамических компонентов? Как я мог сделать эту сборку?

Я не могу собрать библиотеку вместе с основным приложением, так как конечная цель - заставить других разработчиков создавать плагины для приложения, и не все компоненты будут использоваться во время выполнения.

Я не могу сохранить основное приложение без AOT, так как оно будет очень большим, и производительность будет сильно страдать.

Я также знаю об Angular Elements, но хочу также иметь возможность создавать плагины AOT lib.

0 ответов

Другие вопросы по тегам