В моей команде есть проекты react и angular, и я хотел бы интегрировать сборник рассказов в оба из них. Я хотел бы знать, есть ли способ создать общий сборник рассказов, который можно было бы импортировать как в проекты реакции, так и в проекты angular? единственное, что мне приходит в голову, это использование WebComponents, но это заставит React потерять интерес.

Есть у кого-нибудь какой-то опыт?

(это общий вопрос, я спрашиваю только общие указания)

-2
Makoto 12 Окт 2019 в 19:15

1 ответ

Лучший ответ

Идея Storybook или любой библиотеки документации компонентов пользовательского интерфейса состоит в том, чтобы позволить вашим компонентам разрабатываться и существовать изолированно от остальной части исходного кода пользовательского интерфейса. При этом есть несколько подходов, которым можно следовать здесь:

  1. Перенесите все свои компоненты в языковую независимую настройку компонентов, используя что-то вроде Stencil. Вы также можете сделать это с помощью веб-компонентов, но использование Stencil будет намного короче и быстрее с точки зрения разработки. Да, это потребует усилий для изучения «еще одного JS-фреймворка» (или нет! Знаете ли вы, что Stencil - это просто компилятор, и вы можете написать его, используя уже знакомый вам технический стек!). И существенные усилия по тестированию после того, как вы перенесете свои компоненты, если у вас есть эти приложения, развернутые в производственной среде. Но преимущества, которые вы получите в течение длительного периода времени, могут оправдать это в многотехнологичной стековой среде.

  2. Отделите и поместите (только) ваши компоненты из обоих проектов в проект, состоящий только из компонентов. У них есть способы сосуществовать в виде директивы оболочки или сторонних библиотек, таких как ngReact. Это может добавить определенный уровень сложности для разработчиков, знающих только один из этих технологических стеков, но, тем не менее, это определенно способ сделать это. затем вы можете использовать Storybook для этих наполовину оригинальных, наполовину упакованных компонентов, и он может служить единым целым для всех.

В любом случае, эти хорошие принципы проектирования должны соблюдаться с вашими компонентами -

  • Вырвите компоненты из разных мест в единый источник правды.

  • Сохраняйте независимость разработки от того, где используются компоненты.

  • Если возможно, постарайтесь не использовать многостековую архитектуру, по крайней мере, для ваших компонентов. Предпочитайте независимые от языка библиотеки / фреймворки для компонентов.

1
Vandesh 16 Окт 2019 в 16:30