angular - Lazy last flere prosjekter (i CLI-arbeidsområder) til én enkelt stor app
Er det mulig å late-laste flere prosjekter (laget gjennom den nye CLI generere applikasjonsfunksjonen) inn i én stor applikasjon?
Der jeg jobber har vi flere prosjekter, forskjellige team jobber på dem, og hver applikasjon serveres separat, men de er alle små apper av en større app. Så hver gang du navigerer mellom apper, må du vente på lastetiden. Det jeg ønsket å gjøre er å lage en applikasjon som fungerer som et skall for den store, og det skallet bare laster de applikasjonene som moduler eller noe, for å bli lastet inn etter behov eller forhåndslastet, og det ville gjøre den store appen å fungere jevnt.
Jeg vil gjøre det samtidig som utviklingsprosessen fungerer riktig.
Jeg forestiller meg at vi vil ha en struktur som dette
projects/
app1
app2
app3
app4
app/
app.module.ts
app.component.ts
...
og så videre, slik at de appene, klonet ved hjelp av git.
det jeg har for øyeblikket er
app/
app.module.ts
app.component.ts
modules/
app1
app2
app3
app4
hvor de er ett prosjekt, men dette vil ikke fungere fordi det ville være helvete hvis folk jobbet med omtrent 7 apper i ett prosjekt.
Spørsmålet er, er det mulig å lazy-loade en modul fra et annet prosjekt?
{path: 'app1', loadChildren: '../projects/app1/src/app.module#AppModule'}
Hvis det er mulig, hvordan ville koden ovenfor være?
Svar #1
Jeg tror egentlig ikke at det er mulig med late loading mellom de separate Angular-prosjektene. Men ja, det er mulig å gjøre det ved å bruke Angular CLI med flere apper (hver app representerer et forskjellig prosjekt) inne i samme CLI-prosjekt.
Vennligst se denne lenken for å ha flere apper inne i det samme CLI-prosjektet.
https://github.com/angular/angular-cli/wiki/stories-multiple-apps
https://yakovfain.com/2017/04/06/angular-cli-multiple-apps-in-the-same-project/
Nå er det mulig å ha late ruter mellom disse appene. Disse lenkene bør hjelpe deg med å komme i gang.
https://github.com/gatimus/multiple-apps-lazy-loading
https://github.com/angular/angular-cli/issues/8321
Håper dette hjelper.