将多个项目(在 CLI 工作区中)延迟加载到一个大型应用程序

Lazy load multiple projects (in CLI workspaces) to one single big app

是否可以将多个项目(通过新的 CLI 生成应用程序功能创建)延迟加载到一个大应用程序中?

在我工作的地方,我们有多个项目,不同的团队在处理它们,然后每个应用程序都单独提供服务,但它们都是更大应用程序的小应用程序。因此,每次在应用程序之间导航时,您都必须等待加载时间。我想做的是创建一个应用程序,它充当大型应用程序的 shell,并且 shell 只是将这些应用程序作为模块或其他东西加载,以进行延迟加载或预加载,这样就可以了让大应用顺畅运行。

我想通过保持开发过程正常工作来做到这一点。

我想我们会有这样的结构

projects/
   app1
   app2
   app3
   app4
app/
   app.module.ts
   app.component.ts
   ...

等等,所以那些使用 git.

克隆的应用程序

我目前拥有的是

app/
  app.module.ts
  app.component.ts
  modules/
    app1
    app2
    app3
    app4

他们是一个项目,但这行不通,因为如果人们在一个项目中开发大约 7 个应用程序,那就太糟糕了。

问题是,是否可以延迟加载来自另一个项目的模块?

{path: 'app1', loadChildren: '../projects/app1/src/app.module#AppModule'}

如果可能的话,上面的代码会怎样?

我真的不认为它可能在单独的 angular 项目之间延迟加载。但是,是的,可以在同一个 cli 项目中使用 angular-cli 和多个应用程序(每个应用程序代表不同的项目)。

请参考此 link 以了解在同一个 cli 项目中有多个应用程序。

https://github.com/angular/angular-cli/wiki/stories-multiple-apps

https://yakovfain.com/2017/04/06/angular-cli-multiple-apps-in-the-same-project/

现在可以在这些应用程序之间使用惰性路由。这些 link 应该可以帮助您入门。

https://github.com/gatimus/multiple-apps-lazy-loading

https://github.com/angular/angular-cli/issues/8321

希望对您有所帮助。