Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
Astro template demonstrating micro-frontends with React, Angular, Vue, Lit, and Web Components on one page.

A full-stack Next.js TypeScript template focused on functionality over UI, featuring Zustand, TanStack Query, and ESLint 9 support.
Astro Multi-Framework MFE Demo is a GitHub repository example from ITMAGINATION that runs React, Angular, Vue, Lit, and Web Components together on a single Astro page, demonstrating a micro-frontend (MFE) architecture. The project was built by senior Angular developer Zino Adidi and highlights the non-trivial integration of Angular into Astro, which the accompanying ITMAGINATION blog post 'Astro Micro-Frontends' explains in detail.
This is a starter/demo project that shows how to combine multiple independent frontend frameworks into one Astro site. It takes as input components written in React, Angular, Vue, Lit, and vanilla Web Components and produces a static website via Astro's build pipeline. The repository is distributed through GitHub and is intended as a reference for implementing micro-frontends with Astro rather than a production-ready template.
Astro treats every .astro or .md file in src/pages as a route. The demo page imports components from the various frameworks into a single Astro layout, and Astro statically renders them, using client-side hydration where needed. The project relies on Astro's ability to load framework components via integrations, with the Angular integration requiring extra configuration as highlighted in the post. After cloning, the standard commands install dependencies, start a dev server, and build the site.
Yes, the repository is publicly available on GitHub under ITMAGINATION's account, and it can be freely cloned and modified.
The author notes that integrating Angular with Astro was not straightforward at the time of development. The blog post explains the steps and the workaround used to make Angular components render inside an Astro page.
After cloning the repo, run npm install to install dependencies. Then use npm run dev to start the local development server at localhost:3000, or npm run build to generate a static site in the dist folder.
The page includes Web Components, React, Angular, Vue, and Lit. All of these are mounted on a single page to demonstrate micro-frontend interoperability.
