Как автоматизировать миграцию основных функций из основного проекта в проекты-клоны

У меня есть один основной проект (продукт) в angular. Я поддерживаю его репозиторий на github. Каждый раз, когда новый клиент приходит за этим продуктом, мы создаем клон основного проекта и добавляем настройки в соответствии с требованиями клиента.

Теперь проблема в том, что всякий раз, когда в компонентах основного проекта происходят какие-либо изменения кода, мы должны вручную копировать эти изменения в проекты-клоны. Допустим, у нас есть 100 проектов, тогда нам нужно скопировать небольшое изменение кода в 100 проектов. Есть ли способ автоматизировать это, например, каждый раз, когда в компонентах основного проекта происходят какие-либо изменения, они автоматически переносятся в проекты-клоны?

Я проверил работу библиотек npm. Он загружает все зависимости в node_modules. Я не уверен, смогу ли я достичь своей цели, используя это. Но, пожалуйста, дайте мне знать, возможно ли это с помощью npm и как.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
37
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Самое близкое решение, которое я могу придумать для того, чего вы хотите достичь, - это создать общий угловой модуль или угловая 6 библиотека из вашего основного проекта и опубликовать его. Для проекта angular каждого нового клиента импортируйте в него свою основную библиотеку angular и используйте ее. Таким образом, вы можете обновить свою основную библиотеку в любое время, и вам нужно будет только запустить npm update для всех проектов, которые используют эту библиотеку.

И, конечно же, вам нужно будет немного изменить архитектуру вашего основного проекта, чтобы сделать его повторно используемой библиотекой. Вам нужно будет создать общие повторно используемые компоненты, директивы, службы, каналы и т. д. и экспортировать их.

Кроме того, существуют ограничения на то, какие изменения вы можете вносить в основную библиотеку, для отражения изменений в других проектах требуется только «обновление npm».

Спасибо Билал за ответ. Структура проекта модульная. Можно ли создавать библиотеки модулей вместо создания библиотеки всего проекта и достичь той же цели?

Harshal baraskar 21.06.2019 15:16

да! вы можете создать столько модулей в одной библиотеке и столько библиотек, сколько захотите. и вы также можете точно контролировать, что вы хотите, чтобы эта библиотека экспортировала. Возможно, вы захотите создать несколько модулей в библиотеке для внутреннего использования, но предоставить только один центральный модуль для использования другими проектами. Обратитесь к документации библиотеки angular 6.

Bilal Alam 23.06.2019 13:13

Привет, Билал. Есть ли в git какие-либо функции, с помощью которых я могу синхронизировать все проекты клонов? Например. когда какие-либо изменения кода объединяются в основной проект основного проекта, эти же изменения будут автоматически объединены с другими клонированными проектами.

Harshal baraskar 25.06.2019 13:36

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