Angular micro-frontend starter using single-spa.
Now that Angular supports webpack 5, I would discourage using the approach in this repository. If you want to build an all-angular micro-frontend you no longer need something like single-spa. Take a look at making a micro-frontend with webpack 5 federated modules.
Updated for Angular 10! Single-spa starter project in an Angular CLI container application. This has not been optimized for production, it is recommended to use webpack externals to avoid reloading shared dependencies, and to use resource hints to preload child applications, although your specific use case will ultimately determine the optimal load strategy.
Before committing to a micro-frontend architecture, consider the following:
The authors of single-spa generally discourage a parent-child application setup like this because it could lead to tighter coupling between the parent and child applications if you're not careful, and also because it does extra work to manage application life-cycles that single-spa already does for you.
The key difference is that the container app in this repository manages the lifecycles of the single-spa-angular micro-apps manually using Angular's router (by making use of single-spa "parcels"), rather than letting single-spa control the application life-cycles and routing (by registering the single-spa-angular micro-apps as single-spa "applications").
Reasons you may prefer the approach implemented here:
This example was originally created as part of this presentation: youtube link
Here are the associated slides: slides