Nuxt3 中 useCookie 的设置使用方法

2023.06.18 15:59

源码分享

在 Nuxt2 中,如果要使用 cookie,需要引入三方插件,如js-cookie,在 Nuxt3 中,自带了cookie操作的  useCookie 方法,可以很方便的操作 cookie。这样我们就不用为了一个简单的功能引入一个额外的插件,增加不必要的开销。


useCookie() 方法的使用

// 语法
const Cookies = useCookie(name, options)

// 获取 Cookie
const Cookies = useCookie('token')

// 设置 Cookie
Cookies.value = Cookies.value || ''
 
// 删除 Cookie
cookie.value = undefined || null

第一个参数是设置Cookie值的名字,第二个参数为选项option,接着来看看有那些可选择配置的Cookie参数。(注意:这里只介绍三个常用的)


1,maxAge/expires

这两个参数都是设置Cookie的有效时长的,如果两个参数都不设置,Cookie的值在关闭浏览器的时候将会被清空。两个参数的不同是,maxAge的值是一个数字Number,而expires的值是一个日期对象Date object。

const Cookies = useCookie('token', {
	maxAge: 1000 * 60
})


2, httpOnly

这是一个安全设置,如果把httpOnly设置为true,可以对最常见的XSS攻击起到防范作用。

const Cookies = useCookie("token", {
	htttpOnly: true
})


3. secure

这也是一个安全设置,如果你的网址不是HTTPS的,并且把secure的值设置为true,那Cookie的值就不会传递给服务端。

const Cookies = useCookie("token", {
	secure: true
})

其余的还有domain 、path 、sameSite 、encode、decode 属性设置,都跟安全有关,因为Cookie的设置需要考虑安全性,所以根据服务端需求,尽量设置多的安全性参数。

若有收获,就给个鼓励吧

我要:
蜀ICP备2024070963号Iwecore © 2020-2024. All Rights Reserved.