Ответ 1
Вы можете сделать это таким образом, но это может дать вам головные боли, если вы хотите, чтобы Project 1 и Project 2 использовали две разные версии общих компонентов. Представьте, что вам нужно выпустить Project 1 с последними разделяемыми компонентами, но Project 2 все еще полагается на предыдущую версию общих компонентов. Какой беспорядок. Некоторые другие варианты:
- Составить компоненты компонента Bower, которые могут быть включены в любой проект в качестве зависимостей (см. http://briantford.com/blog/angular-bower)
- Скомпилируйте все общие ресурсы во взаимно доступный URL (см. https://medium.com/@KamilLelonek/sharing-templates-between-angular-applications-b56469ec5d85)
- В основном копировать/вставлять компоненты между проектами либо вручную, либо используя что-то вроде gulp (см. https://groups.google.com/forum/#!msg/angular/TxE5yoQkG-U/6-vWAZsqn1YJ)
Второй вариант содержит много движущихся частей и требует изменений в ваших приложениях, не говоря уже о невозможности развернуть разные версии общего кода в каждом проекте. Первое преимущество состоит в том, чтобы легко срезать три хранилища: проект 1, проект 2 и общий доступ. Если Shared является зависимостью Bower в Project 1 и Project 2, простой bower update
получит последнюю версию в любом проекте. Или вы можете заблокировать проект для определенных версий Shared.
Вариант 3 кажется, что он дает вам максимальный контроль, но вы быстро потеряете информацию о том, какую версию Shared использует ваш проект. Вариант 1 разрешает это.