Angular 8 пользовательских рамок - PullRequest
0 голосов
/ 15 февраля 2020

Я хотел спроектировать и разработать фреймворк поверх Angular 8/9, который должен обслуживать несколько приложений, которые могут совместно использовать общий код для всех приложений.

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

UI-Components : настраиваемые компоненты пользовательского интерфейса, представленные в виде модуля узла, которые в будущем могут быть обновлены и опубликованы для всех приложений. Core : который должен иметь общий, основной, абстрактный код для всех приложений.

Код страны-1 : Страна-1 - это реализация ядра, которая будет использовать повторно и расширять их там, где это необходимо.

Код страны-N : Страна-N - это реализация ядра, которая будет повторно использовать и расширять их, когда это необходимо.

У меня есть ниже рассматриваемой структуры, но я хотел параметризовать по стране, я имею в виду dist dist, соответствующий dist не должен упаковываться с кодом другой страны.

https://medium.com/disney-streaming/combining-multiple-angular-applications-into-a-single-one-e87d530d6527

Дизайн должен быть закрыт для модификации и открыт для расширения. введите описание изображения здесь Я ценю ваш ответ.

1 Ответ

0 голосов
/ 15 февраля 2020

Так как я не могу разместить столько символов в качестве комментария, я публикую это как ответ. Возможно, это не совсем то, что вам нужно, но я думаю, что это хорошая отправная точка.

Если у вас следующая структура проекта

--app
  --components
    --component1
      --country1
      --country2
    --component2
      --country1
      --country2

И если вы хотите иметь разные производственные сборки для каждой страны вы хотите обновить файл angular.json, чтобы он включал определенные c конфигурации передачи файлов / папок для каждой страны. Например, производственная сборка имеет такую ​​конфигурацию:

"production": {
   "fileReplacements": [
       {
           "replace": "src/environments/environment.ts",
           "with": "src/environments/environment.prod.ts"
       }
    ],
    ...
}

Затем вам нужно будет добавить указанные в стране конфигурации c:

"country1": {
   "assets": [
       {
           "input": "src/app/components/component1/country1",
           "output": "components/component1"
       },
       {
           "input": "src/app/components/component2/country1",
           "output": "components/component2"
       }
   ]
    ...
}

Затем вы можете запустить производственную сборку с команда:

ng build --prod --configuration country1

Это скопирует файлы скриптов в папку ресурсов и просто загрузит их оттуда. Я думаю, что это скопирует сценарии, как они есть (без минификации и т. Д. c.).

Надеюсь, это поможет.

...