lincenying / mmf-blog-vue2-ssr

mmf-blog-vue2 ssr(The service side rendering)
https://www.mmxiaowu.com
MIT License
176 stars 36 forks source link

cookie问题是如何解决的? #7

Closed wmui closed 7 years ago

wmui commented 7 years ago

朋友你好,我在sf上看到你的这篇文章,但是没看懂解决思路,我查看你的commit线,有修改过cookie的解决方法,如你所说,vue-ssr的资料不多,最近写项目时也遇到登陆问题,尝试了一些方法都无法实现登陆功能,到目前为止只发现你的这个项目完美实现了,希望能讲解一下你的思路,万分感谢!

lincenying commented 7 years ago

方法其实很简单, 主要是有没有想到...

vue在node层会在global下注册一个VUE_SSR_CONTEXT的全局变量, 这个变量就是renderToString的第一个参数, 所以我们只需要在renderToString的时候, 把node层的req注入到context就可以了... https://github.com/lincenying/mmf-blog-vue2-ssr/blob/master/server.js#L115-L120

然后在node层专用axios下就可以取到 https://github.com/lincenying/mmf-blog-vue2-ssr/blob/master/src/api/index-server.js#L6

然后把取到的cookies加到axios里就可以了...

isNecessary commented 7 years ago

你好,我想请问下如何在组件里面去setcookie和getcookie呢?

wmui commented 7 years ago

@lincenying 朋友,经过你的指点,我的登录终于搞定了,太感谢你了

wmui commented 7 years ago

@lincenying 还有一个小问题想请教下,我看到你在项目里用到了window对象(返回顶部),而在服务端是无法直接使用window对象的,本来我用jsdom解决这个问题,但是有时候会报错不太完美,请教下你是如何解决的

lincenying commented 7 years ago

@wmui 可以用window对象, 但是要注意用的地方, 向mounted这类钩子, 在ssr时是不执行的, 就没问题...

wmui commented 7 years ago

@lincenying 朋友,经过调整我的项目已正式发布,并特别感谢你基于登录功能提供的思路,https://segmentfault.com/a/1190000010202941?_ea=2201551
第一次感受到sf这么强大的流量!

lincenying commented 7 years ago

@wmui 赞...