Как я могу поделиться компонентом Angular 2 между несколькими проектами Angular 2?
В идеале я хотел бы создать автономный компонент Angular 2 (с тестами), а затем повторно использовать его между двумя или тремя разными Angular 2 сайтами. Каковы хорошие способы достижения этого?
И вопрос о бонусе - существует ли какая-либо сторонняя сторона Angular 2 компонента?
Ответы
Ответ 1
Вы можете создать библиотеку компонентов angular2 (с тестами), а затем использовать ее в любом количестве проектов
Вот как создать библиотеку angular2
https://makina-corpus.com/blog/metier/2017/how-to-create-an-angular-library
с angular-cli https://medium.com/@nikolasleblanc/building-an-angular-4-component-library-with-the-angular-cli-and-ng-packagr-53b2ade0701e
Затем вы можете опубликовать его для общего пользования. Если вы хотите сохранить это в тайне, вы можете прочитать это https://www.npmjs.com/onsite
Да, существует много сторонних angular2 компонентов. Вот несколько из доблестного программного обеспечения https://github.com/valor-software/ng2-plans
Йоменский генератор для angular библиотеки https://github.com/jvandemo/generator-angular2-library
Ответ 2
это немного поздно, но я бы хотел предложить другое решение, недавно выпущенное для публичной бета-версии Angular. Вы можете обернуть каждый компонент внутри модуля ngModule (как это делается в большинстве библиотек компонентов ng), а затем использовать бит, чтобы разделить компонент между двумя различными проектами или приложениями. Преимущества в том, что вы можете публиковать, устанавливать и обновлять отдельные компоненты. bit будет обрабатывать упаковку компонента со всеми его зависимостями, файлами и т.д., поэтому вы можете установить его в другом проекте, используя npm/yarn. Кроме того, вы можете использовать бит для импорта кода компонента во 2-й репозиторий, вносить изменения и синхронизировать их между репозиториями. Вы можете взглянуть на Angular с руководством по битам и руководящие принципы (написанные командами по битам и по угловым направлениям). Вот также несколько примеров. Надеюсь это поможет. Я в команде, поэтому, пожалуйста, не стесняйтесь спрашивать что-нибудь, и я хотел бы помочь, если смогу.
Ответ 3
Я знаю, что это может быть слишком поздно, но это может помочь вам.
Я начал использовать Angular, и у меня возник тот же вопрос, поэтому я попробовал bit.dev, и это было очень круто.
Наконец, я создал свою первую библиотеку и поделился всеми компонентами с коллекцией bit.dev.
Проверять, выписываться https://bit.dev/joshk/ng-spinners