У меня есть один основной проект (продукт) в angular. Я поддерживаю его репозиторий на github. Каждый раз, когда новый клиент приходит за этим продуктом, мы создаем клон основного проекта и добавляем настройки в соответствии с требованиями клиента.
Теперь проблема в том, что всякий раз, когда в компонентах основного проекта происходят какие-либо изменения кода, мы должны вручную копировать эти изменения в проекты-клоны. Допустим, у нас есть 100 проектов, тогда нам нужно скопировать небольшое изменение кода в 100 проектов. Есть ли способ автоматизировать это, например, каждый раз, когда в компонентах основного проекта происходят какие-либо изменения, они автоматически переносятся в проекты-клоны?
Я проверил работу библиотек npm. Он загружает все зависимости в node_modules. Я не уверен, смогу ли я достичь своей цели, используя это. Но, пожалуйста, дайте мне знать, возможно ли это с помощью npm и как.
Самое близкое решение, которое я могу придумать для того, чего вы хотите достичь, - это создать общий угловой модуль или угловая 6 библиотека из вашего основного проекта и опубликовать его. Для проекта angular каждого нового клиента импортируйте в него свою основную библиотеку angular и используйте ее. Таким образом, вы можете обновить свою основную библиотеку в любое время, и вам нужно будет только запустить npm update для всех проектов, которые используют эту библиотеку.
И, конечно же, вам нужно будет немного изменить архитектуру вашего основного проекта, чтобы сделать его повторно используемой библиотекой. Вам нужно будет создать общие повторно используемые компоненты, директивы, службы, каналы и т. д. и экспортировать их.
Кроме того, существуют ограничения на то, какие изменения вы можете вносить в основную библиотеку, для отражения изменений в других проектах требуется только «обновление npm».
да! вы можете создать столько модулей в одной библиотеке и столько библиотек, сколько захотите. и вы также можете точно контролировать, что вы хотите, чтобы эта библиотека экспортировала. Возможно, вы захотите создать несколько модулей в библиотеке для внутреннего использования, но предоставить только один центральный модуль для использования другими проектами. Обратитесь к документации библиотеки angular 6.
Привет, Билал. Есть ли в git какие-либо функции, с помощью которых я могу синхронизировать все проекты клонов? Например. когда какие-либо изменения кода объединяются в основной проект основного проекта, эти же изменения будут автоматически объединены с другими клонированными проектами.
Спасибо Билал за ответ. Структура проекта модульная. Можно ли создавать библиотеки модулей вместо создания библиотеки всего проекта и достичь той же цели?