Угловое приложение состоит из углового приложения (модули) - PullRequest
0 голосов
/ 29 июня 2018

Я пытаюсь найти лучший способ структурировать (неизбежно большое), но в настоящее время небольшое угловое приложение, над которым будет работать моя команда. Это будет переписано для большой устаревшей системы, которая является кошмаром для обслуживания.

Основная цель здесь - сохранить проект легким, простым для навигации и изменения с точки зрения разработки. В настоящее время я думаю о чем-то вроде:

- src
    - main app module
        - core application code & ui
        - feature modules
            - feature 1 module
            - feature 2 module
            - ..

Это, кажется, имеет смысл, однако это неизбежно станет большим и грязным. Структура папок должна стать глубокой и сложной для навигации. Возможно, возникнет замешательство.

Вместо этого я думаю о чем-то вроде:

- src
    - main app module
    - core application code & ui
    - feature module dependencies

- feature 1 app
- feature 2 app
- ...

Таким образом, каждая крупная функция будет иметь свое собственное угловое приложение, которое будет разрабатываться изолированно, с повторным использованием любого общего / общего кода в качестве модулей. Его можно запускать и тестировать отдельно, а после завершения он будет установлен с помощью

npm install https://github.com/<feature name>

в основное приложение. Затем он будет импортирован в основное приложение как отдельный компонент.

Проблема, с которой я сейчас сталкиваюсь, пытается выяснить:

  • Это хорошая идея?
  • Как импортировать угловые приложения в другие угловые приложения в виде модулей. В основном это связано с тем, что каждое угловое приложение начинается с app.component.ts и app.module.ts, что приводит к конфликтам имен при импорте. Единственный способ, которым я могу думать об этом, - обернуть каждый функциональный модуль облегченным модулем запуска «app». Приложение будет использоваться для локального запуска и тестирования, которое модуль будет экспортировать для других приложений.

Кто-нибудь сталкивался с этим раньше?

Спасибо!

1 Ответ

0 голосов
/ 29 июня 2018

Это хорошая идея?

Если это только вы, тогда я рекомендую вам сделать это по-настоящему простым. В прошлом это работало хорошо для меня:

  • Стабильная ветка / Главная ветвь мастера

  • Ветви объектов (ветвь, на которой разрабатываются функции). Когда вы довольны этими функциями, затем объедините или переместите их обратно в основную ветвь - тогда вы можете удалить ветку компонентов и перейти к следующей функции.

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

...