2017-02-22 3 views
2

Мы заняты созданием довольно большого корпоративного приложения, которое имеет большой набор модулей и компонентов. Я сижу с проблемой, когда мне нужно разрешить другим разработчикам в компании разрабатывать компоненты для этого приложения, без необходимости изменять код, используемый в самом приложении.Динамически загружать модули? angular2

Примером может быть:

«Питер» является разработчиком из другого подразделения внутри организации необходимо создать компонент для построения графиков. Мы не хотим, чтобы Питер менял код более крупного приложения, но вместо этого он создавал и поддерживал свой «Модуль» (эти компоненты были бы построены с помощью установленного интерфейса, чтобы позволить хостинговому приложению общаться с дочерним устройством) диаграммы "), который обрабатывает все функциональные возможности, которые ему нужны в его компоненте диаграммы. Внутри более крупного приложения нам нужно будет указать этот модуль (через конфигурацию) и загрузить его динамически.

Главное, что я должен разрешить любому разработчику ссылаться на его собственный модуль, без моего приложения, специально зная о компоненте. Я не могу иметь его внутри своих компонентов ввода или объявлений, поскольку он должен быть загружен во время выполнения и должен быть разрешен для изменения на основе требований бизнес-единицы с использованием приложения.

Я смотрел на SystemJsNgModuleLoader, но я не вижу способа загрузки компонентов, которые не являются частью моего приложения.

Я не уверен, что это возможно, и если я что-то пропустил. Любые рекомендации/рекомендации будут высоко оценены.

ответ

0

Источник управления

Использование Git для управления версиями.

Разработка

Разработка функциональных модулей. Свяжите их в один комплект UMD с доступным источником. Это позволяет вашим разработчикам:

  1. Target AOT для статических пучков, пригодных для производства
  2. нагрузки динамические модули в процессе разработки

Развертывание

Развертывание модулей в качестве версированной пакета в НПМ (настроить репозиторий NPM, размещенный в частном порядке).

После развертывания, разработчики могут установить, версии, и управлять зависимостями пакетов, так же как и любой другой пакет НПМ:

npm install <package> 
Смежные вопросы