vue ssr 搭建

使用:koa + vue + vue-server-renderer

1.避免交叉响应造成污染(比如不同的用户使用同一个vue)

2.删除响应式以提高性能

由于没有动态更新,所有的生命周期钩子函数中,只有 beforeCreate 和 created 会在服务器端渲染 (SSR) 过程中被调用。这就是说任何其他生命周期钩子函数中的代码(例如 beforeMount 或 mounted),只会在客户端执行。

DOM操作也要禁止,任何只适用于客户端不适用于node的api都要改造

3.结合webpack

server端打包要使用commonjs,配置VueSSRServerPlugin变成Json

client端:生成manifest

4.数据预取

如果没有数据预期,相当于渲染静态页面,关键在于数据的预期并让客户端接管

所有数据都需要预取?尽量是首屏

如何同步数据:采用vuex或者自己做数据,总体**是将数据存在某一地方,在created里去取

似乎没什么好办法,只有用vuex或者统一的dataStore

结论: 巨坑