这篇文章提供了三种方案, 非常全面, 我只是提供另外一种思路
林岑影 发布于 前端开发----再说 Vue SSR 的 Cookies 问题

  1. 创建一个cookieBus.js文件, 文件导出一个cookieBus空对象

    // cookieBus.js
    export default {}
  2. 在server.js中, 将cookie注入context

    const context = {
      title: 'Vue HN 2.0', // default title
      url: req.url,
      cookie: req.headers['cookie']
    }
  3. 在entry-server.js中, 引入cookieBus模块, 将cookie挂载到cookieBus对象上

    import cookieBus from './api/cookieBus.js'
    const { url, cookie } = context
    cookieBus.$cookie = cookie
  4. 在create-api-server.js(服务端的请求接口函数)中,将cookie导入每次请求

    import axios from 'axios'
    import cookieBus from './cookieBus.js'
    
    const api = axios.create()
    
    export default function (data) {
      if (!data.headers) data.headers = {}
      data.headers.cookie = cookieBus.$cookie
      return api(data)
    }
    

tong
1 声望0 粉丝