Мой ответ будет в основном теоретическим для этого.
- Создайте npm-пакет проекта
admin
(что-то вроде ng-packagr поможет).Существует формат для отображения всех модулей, к которым вы хотите получить доступ за пределами этого проекта.Вы можете найти подробности в Google об этом.что-то вроде index.ts
etc - Включите его в
package.json
основного проекта как dependency
. - Попробуйте создать маршрутизацию внутри
MainProject
и использовать ленивую загрузку в маршрутизации для повышения производительности.,Что-то вроде:
export const AppRoutes: Routes = [
{
path: '',
component: 'IAmINMainProjec',
canActivate: [TrafficGuard],
pathMatch: 'full'
// and what not..
},
{
path: 'admin',
loadChildren:
'./modules/widget-wrappers/#AdminWrapperModule',
canActivate: [AuthGuard]
},
AdminWrapperModule
@NgModule({
imports: [
CommonModule,
AdminModule,
]
})
export class AdminWrapperModule{}
приведенный выше код только для справки: D
Обновление
В моем проекте у нас есть несколько модулей (4, если быть точным), аналогичных admin
в вашем случае, и мы поняли, что сборка четырех проектов (скаждый проект имеет время сборки около 7 минут).В итоге мы реализовали nrwl .Этот инструмент помог нам подтянуть все 4 проекта в рамках нашего основного проекта.Это помогло сократить время, так как нам больше не нужно было создавать 2 проекта (один Admin
и другой MainProject
) до фактического развертывания кода.Посмотрите на это, если вам это действительно нужно.Если вам нужно больше разделения проектов, тогда не выбирайте Nrwl
.