The solution for the Vue is VHTML. But if we try to use it in Nuxt, we'll get
client.js?1d97:57 [Vue warn]: You are using the runtime-only build of Vue where the 
template compiler is not available. Either pre-compile the templates into render functions, 
or use the compiler-included build.
(found in <Root>)
I tried below solution (suggested here)
build: {
 extend(config) {
  config.resolve.alias['vue'] = 'vue/dist/vue.common'
 }
}
but it has not solved the problem.
More outputs:
vue.common.dev.js?4650:6460 Mismatching childNodes vs. VNodes:  NodeList(2) [comment, comment] (117) [VNode, VNode, VNode, VNode, VNode, VNode, VNode, VNode, VNode, ....
[Vue warn]: The client-side rendered virtual DOM tree is not matching server-rendered content.
This is likely caused by incorrect HTML markup, for example nesting block-level elements inside <p>, or missing <tbody>. 
Bailing hydration and performing full client-side render.
 
    