It really depends what kind of tools it is. Does it exchange data with the backend? Is there any form of authentication or authorisation? Is it tightly integrated with the main site? If it's standalone tools, I guess one solution would be to create a separate Vue/Nuxt app, host it on Netlify with a subdomain.
Best approach for using multiple Vue apps in project (what would you do)
HI guys,
Bare with me here:
I'm looking for some help regarding my set up. Basically I built my old website using Laravel-breeze with inertia and Vue. I wanted to build some Tools for demonstrations purposes on my app, so I created Vue components inside the app (resources/js/Pages/Tools) and just included them as part of the main site pages. This is great because all of the apps are built alongside my project, however they are tied to the site.
However I'm rebuilding my website and what I want is to make these tools individual Vue apps that I can move about projects, e.g. without moving the Vue files from my old project to the now one manually, or even put them on StackBlitz for instance to demo them etc.
Whats the best way to go about this? Are there any best practices?
My first thoughts are just create new Vue (Vite) apps, give them their own repository, stick them on StackBlitz and for each tool page, create an iFrame to show the tool on the page? This kind of works, but I have to have the StackBlitz editor in the frame.
I've also looked into component library's but looks like this would be a pain to maintain when things change.
So basically I cant to have Vue tools that render in my app, can be moved about different projects easily and included in other projects or sub domains and work without much messing about?
I should also say I'm not all too familiar with roll up and build targets, I could never get them working...
I know this is an ambiguous question, there might not be a best answer, but anybody who has done this would be great help to point me in the right direction. What would yous do?
Thank
Please or to participate in this conversation.