Это плохая идея собирать монорепо Angular9 библиотеки с включенным Ivy - PullRequest
1 голос
/ 03 февраля 2020

По умолчанию при создании библиотеки Angular9 (в настоящее время R C) библиотека создается с отключенным Ivy в рабочем режиме. Это имеет некоторый смысл, поскольку публикация библиотек, скомпилированных для Ivy (пока) не поддерживается.

В моем случае, однако, у меня есть проект monorepo, и мы используем библиотеки для организации нашего кода. Библиотеки никогда не переводятся в NPM и используются только для сборки основного приложения в многоэтапном процессе сборки. Сборка библиотек с отключенным Ivy означает, что сначала сборка основного приложения должна go по всем этим библиотекам и вызывать NG CC для генерации Ivy-версий кода, который кажется ужасно неэффективным и просто странным.

Вопрос в том, является ли плохой идеей просто включить Ivy для производственных сборок этих библиотек? И если так, то почему? Какие потенциальные проблемы могут появиться?

1 Ответ

0 голосов
/ 11 февраля 2020

Причина, по которой Google еще не рекомендует публиковать библиотеки Ivy, заключается в том, что разработчики все еще могут отказаться от Ivy. Как только они завершат работу и переместят всех на новую систему сборки в angular 10, они, вероятно, вновь вернутся к поддержке Ivy в опубликованных библиотеках.

Я бы сказал, если вы используете Ivy на протяжении всего проекта и не предоставляя их кому-то, кто выключил бы Айви, а затем поставил либов Айви. Как вы сказали, это немного неэффективно, так как нужно конвертировать библиотеки в Ivy. Google не рекомендует публиковать. Не говорит, что они не рекомендуют использовать библиотеки Ivy.

Я использовал https://indepth.dev/the-angular-ivy-guide-for-library-authors/, чтобы подкрепить свой ответ. Мне нужно было понять , почему Google рекомендовал не публиковать Ivy libs.

...