I have a React application that is quite mature which has been developed using React version 16.14.0. Recently, there has come a need to Plugin some of the MFEs developed using Single SPA to this application. As I have tried out converting the current application to Single SPA seems to be quite far fetched given the breaking changes that the application has to go through. Therefore, I would like to know whether it is possible to mount those MFEs as DOM elements into my current application and interact them as React components. I would like to know the feasibility of such approach and any suggestions are appreciated.
Mount a Single SPA MFE to DOM of a NON Single SPA application
115 Views Asked by KasunKP At
1
There are 1 best solutions below
Related Questions in REACTJS
- ussd reader in Recket Native module
- Teams tab application returns SSO error in mobile Outlook
- Github Pages Deployment deploys a blank page
- Is there any way to glow this bulb image like a real light bulb
- Optimize LCP ReactJs
- Page in React only renders elements after refreshing
- Unable to Post Form Data to MongoDB because of picturepath
- MERN Stack App - User Avatar Upload - 500 Error After Deployment on Render
- Hooks are not supported inside an async component error in nextjs project using useQuery
- How to change the Font Weight of a SelectValue component in React when a SelectItem is selected?
- On the server side, it returns undefined but on the client side, logs the values no problem
- Multilevel dropdown with checkboxes in Select component
- TypeScript Error only on big type only when assigned to a variable
- Deployment through app engine, cloud sql database, problem connecting with server code, doesn't connect
- Data is not filtering in props. Showing passdata.map is not a function
Related Questions in SINGLE-SPA
- index.html not loading in single-spa-angular application
- single spa - Angular - shared state
- Single sign on with Single SPA
- Integrating Keycloak in Micro Frontends with Single SPA and Angular
- Single-spa is inserting microfrontend into both divs on a two microfrontend page
- Single Spa Angular not working - empty page
- Is there a way to use next-js together with the single-spa micro frontend framework?
- CSS not being imported in vite single spa root app
- how to make mobx store in single spa application root-config to share data and state among all micro applications?
- A portal containing multiple applications, with a single sign on
- Mount a Single SPA MFE to DOM of a NON Single SPA application
- MSAL ssoSilent and 3rd Party Cookies
- How to avoid caching on importmap.js in micro frontend (Single-spa) applications
- Vite not bundling single-spa microfrontend application
- Unable to load assets in single spa angular application
Related Questions in SINGLE-SPA-REACT
- Single Spa Angular not working - empty page
- Is there a way to use next-js together with the single-spa micro frontend framework?
- CSS not being imported in vite single spa root app
- Mount a Single SPA MFE to DOM of a NON Single SPA application
- How to avoid caching on importmap.js in micro frontend (Single-spa) applications
- CORS Error when trying to authenticate using ADFS on asp.net core 3 spa
- Using Tailwind css with single-spa applications
- How to deploy Single SPA Root Application on AWS server?
- Single spa routing issues
- on loading the page i am getting innerHTML Error
- single-spa with react bi-directional host
- single-page-application routing is not working after deploying to s3 bucket
- single-spa consume shared utility module in ember
- single-spa root application as a react application
- How can I import types/interfaces from a SingleSpa utility module to a Typescript based Micro frontend react app
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Yes, strictly speaking it is possible to mount MFE's in your existing project. The single-spa team will tell you to create a root config project, then mount your current application as MFE, and in turn, make your MFE mount the others.
While perfectly OK route, I dislike it because it is not as simple. Furthermore, root config projects use SystemJS modules and not native ES Modules. If you want ES modules, you'll have to reconfigure.
So, for the record: Seriously consider going the path recommended.
My Answer
Now, personally speaking, I prefer to do exactly what you say you want to do: Just mount stuff in my existing project.
To do this, in a nutshell:
registerApplication()andstart()in your current project.import()function according to the type of module in use (System.import()for SystemJS modules, orimport()for native ES modules).<div>elements, most of the time) in the places where the MFE's will be mounted. They require theidattribute set tosingle-spa-application:<mfe Name>, where<mfe Name>is the name given to the MFE in the call toregisterApplication().Optionally, you could assign bare specifiers (or aliases) to the URL's of the MFE's and also include an import map in your current application's index page. This is another conversation, so I'll just stop here.