vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > Nuxt引用cookie-universal-nuxt在服务端请求cookie

Nuxt引用cookie-universal-nuxt在服务端请求cookie方式

作者:明知山_

这篇文章主要介绍了Nuxt引用cookie-universal-nuxt在服务端请求cookie方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Nuxt引用cookie-universal-nuxt在服务端请求cookie

官方文档

npm install cookie-universal-nuxt -s

nuxt.config.js添加

modules: [    'cookie-universal-nuxt'  ],

设置cookie

this.$cookies.set('token', 123456)

获取cookie

this.$cookies.get("token")

清除cookie

this.$cookies.remove('token')

asyncData获取

async asyncData({ app }) {
    console.log(app.$cookies.get("token"));
},

nuxt cookie-universal-nuxt 搭配 vuex-persistedstate 做数据持久化

因为服务端不存在 Local Storage 和 Session Storage

所以 便使用了 cookie-universal-nuxt 这个插件

在做Nuxt项目的时候 发现Vuex 在刷新页面后 储存的数据丢失

用 vuex-persistedstate 来持久化数据

cookie-universal-nuxt 安装

cookie-universal-nuxt 的安装

npm install cookie-universal-nuxt -s

打开 nuxt.config.js 文件

在 modules 下添加

modules: [
? ? // https://go.nuxtjs.dev/axios
? ? 'cookie-universal-nuxt'
? ],

更多使用方法请点击 传送门

vuex-persistedstate安装

安装命令

npm install vuex-persistedstate --save

配合 cookie-universal-nuxt 使用

在 plugins文件夹下新建 文件 persistedState.js

import createPersistedState from 'vuex-persistedstate'
export default ({ app, store }) => {
  createPersistedState({
    storage: {
      getItem: (key) => app.$cookies.get(key),
      setItem: (key, value) =>
        app.$cookies.set(key, value, {
          path: '/',
          maxAge: 60 * 60 * 24 * 1 // cookie存储时间 可修改
        }),
      removeItem: (key) => app.$cookies.remove(key)
    }
  })(store)
}

打开 nuxt.config.js 文件

在 piugins 模块下进行导入

plugins: [
    '@/plugins/persistedState',
  ],

到此 使用 cookie就可以进行持久化储存

使用方式

this.$cookies.set('token', 'XXXXXXXXXXXXXXXXXXXX')

就正常的使用 cookie-universal-nuxt 的方式即可

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文