Closed twinkle77 closed 6 years ago
关于服务端渲染的原理和流程,推荐你阅读一下这篇文章:https://imhjm.com/article/590710fbe3176b248999f88c
首先你要明白服务端渲染的作用是什么 以及 普通服务端渲染(基于字符串拼接)和Vue的服务端渲染区别是什么。 Vue的服务端渲染不仅要渲染出HTML吐给客户端浏览器,还需要客户端浏览器的vue接管吐过来的HTML里那些需要用上Vue的响应式的部分。所以需要在服务端标记一下,客户端Vue才知道这些是服务端渲染的需要它接管的部分。否则将会当做普通HTML对待。
模板index.html的代码
app.vue的代码:
entry-client.js代码
由于app.vue具有id为app的元素, 所以服务端渲染的时候会返回
网页加载完成后,js开始执行,由于楼主写了app.$mount('#app'), 所以会把服务端渲染的
<div id="app" data-server-rendered="true">
替换掉,这样的服务端渲染是正确的吗?感谢博主解答。ssr有点难呀。在踩着坑,哎。