当前位置:首页 > 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 实现用户注册功能 环境准备 确保已安装 Vue CLI 或通过 CDN 引入 Vue。若使用 Vue CLI,需安装 axios 或其他 HTTP 库用于后端通信。 注册表单组件 创…

vue登录逻辑的实现

vue登录逻辑的实现

Vue 登录逻辑实现 前端实现 创建登录组件 在 Vue 项目中创建一个登录组件,通常命名为 Login.vue。该组件包含表单元素,如用户名和密码输入框,以及提交按钮。 <template…

vue实现适老化样式

vue实现适老化样式

Vue 实现适老化样式的关键方法 全局字体与字号调整 通过 CSS 变量或主题配置统一放大基础字号,建议正文不小于 18px,标题更大。在 App.vue 中设置全局样式: :root { -…

vue设计与实现目录

vue设计与实现目录

以下是《Vue设计与实现》一书的典型目录结构(根据常见技术书籍及Vue核心内容整理): 响应式系统 响应式数据的基本原理 依赖收集与触发更新 实现简易响应式系统 Proxy与Reflec…

vue异步组建实现原理

vue异步组建实现原理

Vue 异步组件实现原理 Vue 的异步组件允许将组件按需加载,通常用于代码分割或延迟加载非关键组件。其核心原理基于 Promise 和动态导入。 基本实现方式 通过 defineAsyncCom…

vue实现一个标签选择

vue实现一个标签选择

Vue 标签选择组件实现 基础实现 使用 Vue 的 v-for 和 v-model 指令可以快速实现标签选择功能: <template> <div class="tag-se…