当前位置:首页 > VUE

vue实现cookie

2026-01-13 00:00:51VUE

Vue 中实现 Cookie 操作

在 Vue 项目中操作 Cookie 可以通过原生 JavaScript 的 document.cookie 或第三方库(如 js-cookie)实现。以下是两种方法的详细说明:

使用原生 JavaScript 操作 Cookie

原生方式通过 document.cookie 直接读写 Cookie,但需要手动处理字符串格式。

设置 Cookie

document.cookie = 'key=value; expires=Fri, 31 Dec 2023 23:59:59 GMT; path=/';
  • expires 设置过期时间(UTC 格式)。
  • path 指定 Cookie 生效路径。

读取 Cookie

vue实现cookie

const cookies = document.cookie.split(';').reduce((acc, cookie) => {
  const [key, value] = cookie.trim().split('=');
  acc[key] = value;
  return acc;
}, {});
console.log(cookies.key); // 输出指定 Cookie 值

删除 Cookie 通过设置过期时间为过去的时间点实现删除:

document.cookie = 'key=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/';

使用 js-cookie 库

js-cookie 提供了更简洁的 API,适合 Vue 项目集成。

安装

vue实现cookie

npm install js-cookie

引入与使用

import Cookies from 'js-cookie';

// 设置 Cookie
Cookies.set('key', 'value', { expires: 7, path: '/' }); // 过期时间 7 天

// 读取 Cookie
const value = Cookies.get('key');

// 删除 Cookie
Cookies.remove('key', { path: '/' });

在 Vue 组件中的示例

将 Cookie 操作封装为 Vue 的可复用方法:

// utils/cookie.js
import Cookies from 'js-cookie';

export const setCookie = (key, value, options = {}) => {
  Cookies.set(key, value, options);
};

export const getCookie = (key) => {
  return Cookies.get(key);
};

export const removeCookie = (key) => {
  Cookies.remove(key);
};

组件内调用

import { setCookie, getCookie } from '@/utils/cookie';

export default {
  methods: {
    handleLogin() {
      setCookie('auth_token', '12345', { expires: 1 });
    },
    checkAuth() {
      const token = getCookie('auth_token');
      if (!token) this.$router.push('/login');
    }
  }
};

注意事项

  • 安全性:敏感数据(如用户令牌)应设置为 HttpOnlySecure(仅 HTTPS)。
  • 作用域:明确指定 pathdomain 避免跨路径问题。
  • SSR 兼容:若使用 Nuxt.js 等服务端渲染框架,需通过 process.client 判断环境:
    if (process.client) {
      const token = Cookies.get('token');
    }

标签: vuecookie
分享给朋友:

相关文章

vue手动实现弹窗

vue手动实现弹窗

实现弹窗组件的基本结构 在Vue中手动实现弹窗组件,需要创建一个独立的弹窗组件,并通过props控制其显示与隐藏。弹窗组件通常包含遮罩层、内容区域和关闭按钮。 <template>…

vue实现tag

vue实现tag

Vue 实现标签(Tag)功能 在 Vue 中实现标签(Tag)功能可以通过多种方式完成,以下是一些常见的方法和实现步骤: 使用动态组件和 v-for 通过 v-for 指令动态渲染标签列表,结合样…

简单实现vue

简单实现vue

Vue 的基本实现 创建一个简单的 Vue 应用需要引入 Vue 库,并编写基本的模板和数据绑定逻辑。 <!DOCTYPE html> <html lang="en"> &l…

vue能实现

vue能实现

Vue.js 是一个流行的前端框架,能够实现多种功能。以下是 Vue 能够实现的主要功能和特性: 响应式数据绑定 Vue 的核心特性之一是响应式数据绑定。通过数据驱动视图,当数据发生变化时,视图会自…

vue实现选择

vue实现选择

Vue 实现选择功能的方法 在 Vue 中实现选择功能可以通过多种方式完成,以下介绍几种常见的实现方法。 使用 v-model 绑定单选 通过 v-model 可以轻松实现单选功能。以下是一个简单的…

vue实现分栏

vue实现分栏

Vue实现分栏的常见方法 使用CSS Flexbox布局 通过Flexbox可以快速实现分栏效果,适合大多数响应式布局场景 <template> <div class="con…