4

I would like to know if the following is possible with Angular 6 (note that where I use the term "subsystems" it's similar to Angular's "Applications")

The purpose is to create a unified view of otherwise separate subsystem web sites. I was able to do something similar before in both plain old Javascript/HTML as well as PHP:

I want to build a web site "framework" that acts as a parent web site for one or more multiple subsystem sites (each subsystem site runs independently from the rest). Each subsystem site provides the list of menu items that represent different web pages via a configuration file that the framework consumes on startup.

From a development and source control perspective, I would prefer that the framework project is completely separate from the subsystem projects. This allows separate teams to work on the subsystems autonomously; as long as each team follows the expectations of the framework at runtime, then they should work within that framework alone or together with other subsystems.

Another source control approach would be to have the framework copied redundantly into each subsystem project, but I still want to be able to combine subsystem sites when deploying in production.

I realize that Angular 6 has added support for multiple applications in one project -- and in this context, these applications could represent one of the subsystem sites. But I want to AVOID having all the subsystems combined into one project.

Is this possible with Angular 6? Any recommendations for approaching this or has anyone attempted this that they can share their war stories and tips?

EDIT: this link the closest question I have seen that seems related, but no answers there either -- Click here

EDIT2: These both seem very promising and close to helping me accomplish my goal: Single-SPA and Stencil

Various Artist
  • 357
  • 5
  • 16
  • This other question may be similar, but as yet has no responses: [link](https://stackoverflow.com/questions/50117471/is-it-possible-to-partition-an-angular-project-into-separate-projects-and-still) – Various Artist Jul 19 '18 at 21:48
  • How about using creating a shared library ? – Antoniossss Jul 19 '18 at 21:50
  • Thank you Antoniossss, I will look into that. Ultimately I want to be able to deploy an additional subsystem, or an update to an existing subsystem, by simply changing a configuration file that the framework reads in after a user logs in. I am sure there may be ways to do this, and I will need to read up on each suggestion to see if it fits my overall use case. I'll take a look at Shared Libraries and see -- thanks! – Various Artist Jul 19 '18 at 21:58

1 Answers1

3

check these: 1. Angular and Micro-Frontends 2. https://github.com/CanopyTax/single-spa

ngWolf
  • 307
  • 1
  • 6
  • 21