当前位置: 首页 > news >正文

js-cookie详细介绍

js-cookie 是一个简单、轻量的 JavaScript API,用于处理浏览器 cookies。它提供了一种方便的方式来创建、读取和删除 cookies,而不需要直接操作 document.cookie。以下是对 js-cookie 的详细介绍:

特点

  • 简单易用js-cookie 提供了简单的方法来操作 cookies,如 Cookies.setCookies.getCookies.remove,使得 cookie 操作直观易懂。

  • 兼容性好:支持所有现代浏览器,包括旧版浏览器如 Internet Explorer 6+。

  • 轻量级:压缩后的文件大小仅约 5KB,不会对页面加载性能产生显著影响。

  • 模块化:支持 CommonJS、AMD 以及 ES6 模块导入方式,便于在各种项目中使用。

基本用法

以下是 js-cookie 的一些基本用法示例:

  1. 设置 Cookie

    import Cookies from "js-cookie";
    Cookies.set('name', 'value');

    可以设置 cookie 的过期时间、路径、域等属性。例如,创建有效期为 7 天的 cookie:

    Cookies.set('key', 'value', { expires: 7 }); // 7 天后失效

    也可以设置时间戳来处理时间,以实现更精确的过期时间控制

  2. 读取 Cookie

    const value = Cookies.get('name');

    如果 cookie 不存在,则返回 undefined。还可以获取所有可见的 cookie:

    const allCookies = Cookies.get();

    3.删除 Cookie

    Cookies.remove('name');

    如果要删除指定路径的 cookie,需要提供相应的路径参数:

    Cookies.remove('name', { path: '' });

    4.设置默认属性: 使用 Cookies.withAttributes 方法可以设置默认属性,如路径、域等:

    Cookies.withAttributes({ path: '/', domain: '.example.com' });

    5.Cookie 属性

    • expires:设置过期时间,可以是天数或 Date 对象。

    • path:设置 cookie 的路径,默认为 '/'

    • domain:设置 cookie 的域,默认为当前请求的地址。

    • secure:设置 cookie 是否仅通过 HTTPS 发送,默认为 false

    • httpOnly:设置 cookie 是否仅通过 HTTP(S) 发送,不提供给客户端 JavaScript,默认为 true

    • sameSite:设置 cookie 的同站策略,可以是 'strict''lax'true(映射到 'strict')。

安装

可以通过 npm 或直接在 HTML 文件中引入 js-cookie

  1. npm 安装

    npm install js-cookie

    示例代码

    以下是使用 js-cookie 的一个完整示例:

    import Cookies from 'js-cookie';// 设置 cookie
    Cookies.set('username', 'tanggaowei', { expires: 10, path: '' });// 读取 cookie
    const username = Cookies.get('username');
    console.log(username);// 删除 cookie
    Cookies.remove('username');

    通过使用 js-cookie,可以方便地在前端进行数据缓存和用户状态管理,同时避免了直接操作 document.cookie 的复杂性。

 

http://www.dtcms.com/a/265891.html

相关文章:

  • Node.js与Webpack
  • 2025年6月:技术探索与生活平衡的协奏曲
  • 目标检测:从基础原理到前沿技术全面解析
  • 架构师的“降维打击”:用桥接模式,把 N*M 的问题变成 N+M
  • Matplotlib 安装使用教程
  • 【Git】同时在本地使用多个github账号进行github仓库管理
  • C++ 网络编程(14) asio多线程模型IOThreadPool
  • 【数据结构】树的基本操作
  • 阿里云服务网格ASM实践
  • 抗辐照芯片在核电厂火灾探测器中的应用优势与性能解析
  • springMvc的简单使用:要求在浏览器发起请求,由springMVC接受请求并响应,将个人简历信息展示到浏览器
  • Java 原生 HTTP Client
  • https如何利用工具ssl证书;使用自己生成的证书
  • http、SSL、TLS、https、证书
  • 【交互设计】UI 与 UX 简介:从核心概念到行业实践
  • 微算法科技(NASDAQ MLGO)基于量子图像处理的边缘检测算法:开拓图像分析新视野
  • [2025CVPR]SEEN-DA:基于语义熵引导的领域感知注意力机制
  • 通过观看数百个外科手术视频讲座来学习多模态表征|文献速递-最新论文分享
  • 【数据结构】哈希——闭散列/开散列模拟实现(C++)
  • [论文阅读] 人工智能 | 在非CUDA硬件上运行几何学习:基于Intel Gaudi-v2 HPU的PyTorch框架移植实践
  • Stable Diffusion 项目实战落地:AI照片修复 第一篇 从黑白到彩色:用AI给照片上色的魔法之旅
  • stm32f103c8t6---ymodem协议串口IAP升级(只教怎么操作,略讲原理,100%成功!)
  • laravel基础:隐式模型绑定的用法和介绍
  • 【AI】大语言模型(LLM) NLP
  • STM32-第二节-GPIO输入(按键,传感器)
  • [科普]UART、RS232、RS422、RS485、TTL:深入解析串行通信家族
  • uniapp 使用ffmpeg播放rtsp
  • 网络基础(1)
  • 铁血联盟3 中文 免安 离线运行版
  • 基于路径质量的AI负载均衡异常路径检测与恢复策略