Здравствуйте, уважаемое сообщество SO,
Я готовлю проект, который требует переноса приложения AngularJS в новое приложение React. Приложение AngularJS на самом деле представляет собой два отдельных приложения AngularJS (componentA, компонентB). Они обслуживаются статически через CloudFront.
Задача заключается в переходе с двух приложений AngularJS componentA и компонентB на приложение один React. Но, разумеется, поскольку это продуктивный проект, я не могу использовать здесь большое решение и заменить все через полгода перехода на React.
Мой вопрос: с приведенной выше информацией, возможно ли одновременно запустить два приложения AngularJS и приложение React в одном домене www.example.com? Идея состоит в том, чтобы переносить сайт за сайтом, пока не будут полностью перенесены все сайты.
Я знаю о таких вещах, как react2angular, но он явно просил создать приложение React с нуля для миграции. Любые чаевые приветствуются :)
@estus Приложения полностью изолированы. Одно похоже на общедоступное приложение с информацией, второе защищено логином. Я с радостью дам больше информации, но, может быть, у вас есть более конкретные вопросы? :) Совершенно нормально создавать приложения с нуля. Но при использовании, например, react2angular, миграция немного проще, потому что у вас есть не два полных отдельных проекта, а один.
Таким образом, приложения не могут сосуществовать на одной странице. Я не вижу причин, по которым вам нужно сделать их одним приложением, если на самом деле это разные приложения. Вам просто нужно пересобрать компоненты AngularJS в компоненты React один за другим или несколько сразу. Осуществимость этого полностью зависит от того, как было написано приложение AngularJS. Если бы он был правильно разбит на компоненты, проблем было бы намного меньше. Как правило, размещать компоненты React в оболочке Angular проще, чем наоборот, из-за различий в их жизненных циклах.
Как я уже сказал, github.com/coatue-oss/react2angular/blob/master/index.tsx - всего лишь крошечный помощник. Вы можете написать это с нуля для любого компонента в зависимости от ваших потребностей в этом компоненте. Вы передаете атрибуты директивы как реквизиты, компонент render React в директиве init и размонтируете его в директиве destroy. Просто как тот. Все возможные препятствия полностью зависят от вашего конкретного приложения.
@estus большое спасибо за ваш вклад. Я подумаю здесь еще раз и, возможно, перейду на способ пересборки приложений ... :)


Невозможно что-либо предложить, не зная, что это за приложения и как они работают.