-
Notifications
You must be signed in to change notification settings - Fork 124
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
WIP: Vue 3 migration #2224
WIP: Vue 3 migration #2224
Conversation
@EltonGohJH Thanks for the initiative & the PR! It will be great to finally move over to Vue 3. Would it be possible to have some examples (or if possible, a full list) of the Vue 3 warnings so that we know what are the things that we'll need to address? I think that ideally we would want to fix the warnings within this PR (since they are directly caused by the Vue 3 migration itself), but if it really is too much work for a single PR, as suggested we can open new issues accordingly and tackle them as we go along. If possible, it would also be great to have a "step-by-step" list of things to be done / things done so far so that we can get a gauge of the progress, similar to #1913 👍 |
@lhw-1 |
8d2aa70
to
35f9d75
Compare
9519358
to
c78d6fb
Compare
c78d6fb
to
4cb9fbb
Compare
I am closing off this PR as I am rethinking the approach. Right now, markbind SSR is very complicated with a lot of undocumented non-trivial approaches to enable SSR. So, I think that a more appropriate measure would be that we make it such that we can use both concurrently.
This approach would be better but I would need investigate the feasibility of having two systems together. |
What is the purpose of this pull request?
Overview of changes:
Related to #2084
There are still a lot of vue warning for components. I have attempted to refactor some components to vue 3.
I think that there may be no need to refactor some of the component (or at least no urgency if it is working).
The main logic changed would be the SSR part and instead of passing pageVueRenderFn to browser including the script, we now pass content (the html code) to the client side so that client can hydrate.
Anything you'd like to highlight/discuss:
It seems kinda redundant to pass (the html code) to the client side for client to hydrate. So, I was thinking can we do with no hydration.
It seems that there are some parts that are preventing us from going full SSR with client side hydration.
Some functions are called during mounting in client side. I wonder whether it is possible to shift this logic to server side.
Do we want to handle this in this issue?
Testing instructions:
Unfortunately, some components are preventing us from testing out serving of docs.
Default template generated by markbind can be tested albeit with a lot of vue warnings.
Proposed commit message: (wrap lines at 72 characters)
Checklist: ☑️