Я пытаюсь найти лучший способ структурировать (неизбежно большое), но в настоящее время небольшое угловое приложение, над которым будет работать моя команда. Это будет переписано для большой устаревшей системы, которая является кошмаром для обслуживания.
Основная цель здесь - сохранить проект легким, простым для навигации и изменения с точки зрения разработки. В настоящее время я думаю о чем-то вроде:
- 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». Приложение будет использоваться для локального запуска и тестирования, которое модуль будет экспортировать для других приложений.
Кто-нибудь сталкивался с этим раньше?
Спасибо!