-
Notifications
You must be signed in to change notification settings - Fork 102
[Question] Is this a good idea? I mean use Vue to build Web Components. #111
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
There is a use case for micro-frontend style development. We use a simple browser-native shell (skeleton app) to load micro-apps (pages) that register to serve some URLs. Those pages are web components (big ones). Inside many of them, we got Vue applications using this webcomponent wrapper. This style allows new pages to be made with any technology that can be put inside webcomponents, not just Vue.js. |
I think Web Components with Vue are theoretically a good idea, but the implementation right now has so many bugs, that I would not recommend it right now! |
I'm interested on feedback and details about bugs and experiments. I suppose you talk about vue2 since vue3 wrapper is not yet available ? |
@soann-dewasme Yes, indeed, I'm on Vue 2. Issues I ran into:
All these bugs cost me weeks of dev time, just to work around issues in this implementation of web components. Thus, I regret moving to web components right now and would not recommend it. |
So many bugs if you used a third-party plugin unable to get all dependencies and wouldn't be work as expected. |
So many bugs if you used a third-party plugin unable to get all dependencies and wouldn't work as expected. |
This build way will inevitably import the runtime of Vue, which will not only lose the characteristics of Web Components separated from the framework, but also lose the advantages of its size. Is this really a good idea?
To this idea, I put forward some questions of my own, hoping to be answered.
Thx!
The text was updated successfully, but these errors were encountered: