时间:2021-05-18
本来想前面写点什么的, 还是算了, 直接说思路吧.
从 Vue2.3 版本后, SSR 的 cookies, 就变成一个无比麻烦的问题, 具体请访问官网文档: https://ssr.vuejs.org/zh/api.html#runinnewcontext
之前也说不少的思路, 可是都觉得不怎么好用, 虽然都能解决问题, 今天再说一种思路
因为 Vue2.3 以后, bundle 代码将与服务器进程在同一个 global 上下文中运行, 所以不能再将 cookies 丢到 global 给 api 使用, 否则就会出现 cookies 污染
Vue2.3 以后, 我们需要为每个请求创建一个新的根 Vue 实例, 同样的, router、store 也需要, 所以, 我们的思路也在此, 将封装后的 api 注入到这 3 个实例当中去, 保证每个请求的 api 都是独立, 那么就剩一个问题, 注入到哪个实例里面去!?
api 请求用到最多的两个地方就是: 组件和 vuex 的 actions 里, 这两个地方都有 store 的影子, 所以, 注入到 store 中, 毫无疑问是最好的
那么下面就来操作下:
1. 修改 api, 让 api 文件导出一个工厂函数
import axios from 'axios'import qs from 'qs'import md5 from 'md5'import config from './config-server'const parseCookie = cookies => { let cookie = '' Object.keys(cookies).forEach(item => { cookie += item + '=' + cookies[item] + '; ' }) return cookie}export const api = cookies => { return { api: axios.create({ baseURL: config.api, headers: { 'X-Requested-With': 'XMLHttpRequest', cookie: parseCookie(cookies) }, timeout: config.timeout }), post(url, data) { return this.api({ method: 'post', url, data: qs.stringify(data), headers: { 'Content-Type': 'application/x-/lincenying/mmf-blog-vue2-pwa-ssr以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文主要介绍了Vue2SSR渲染根据不同页面修改meta,分享给大家,具体如下:注意:经过测试,vue-meta会导致内存泄漏,请慎用…以现在vue2的服务端渲
花费了一个月时间,终于在新养车之家项目中成功部署了vue2服务端渲染(SSR),并且使用上了Vuex负责状态管理,首屏加载时间从之前4G网络下的1000ms,提
本人对vue不是很懂,搜索了很多关于Vue2无限级分类介绍,下面我来记录一下,有需要了解Vue2无限级分类的朋友可参考。希望此文章对各位有所帮助。Vue树a{c
本文实例讲述了vue2嵌套路由实现方法。分享给大家供大家参考,具体如下:前面讲过了vue2路由基本用法,一般应用中的路由方式不会像上述例子那么简单,往往会出现二
一个网站一旦涉及到多用户,就很难从Cookies中逃脱,VueSSR的cookies也真算是遇到的一个不小的问题,从开始玩SSR开始到现在,一共想出了3种方案,