文章目录
cookie-parser的创建
1、安装cookie-parser
cnpm install cookie-parser --save
2、引入cookie-parser
var cookieParse = require('cookie-parser');
3、设置cookie-parser
//不使用签名
app.use(cookiePareser());
//若需要使用签名,需要指定一个secret,字符串,否者会报错
app.use(cookiePareser('Simon'));
4、使用cookie-parser
res.cookie(name, value [, options]);
-
name: 类型为String
-
value: 类型为String和Object,如果是Object会在cookie.serialize()之前自动调用JSON.stringify对其进行处理
-
Option: 类型为对象,可使用的属性如下
参数 | 作用 |
---|---|
domain | cookie在什么域名下有效,类型为String,。默认为网站域名 |
expires | cookie过期时间,类型为Date。如果没有设置或者设置为0,那么该cookie只在这个这个session有效,即关闭浏览器后,这个cookie会被浏览器删除。 |
httpOnly | 只能被web server访问,类型Boolean。 |
maxAge | 实现expires的功能,设置cookie过期的时间,类型为String,指明从现在开始,多少毫秒以后,cookie到期。 |
path | cookie在什么路径下有效,默认为’/’,类型为String |
secure | 只能被HTTPS使用,类型Boolean,默认为false |
signed | 使用签名,类型Boolean,默认为false。express会使用req.secret来完成签名,需要cookie-parser配合使用 |
用例如下:
res.cookie('name', 'koby', {
domain: '.example.com', path: '/admin', secure: true });
//cookie的有效期为900000ms
res.cookie('rememberme', '1', {
expires: new Date(Date.now() + 900000), httpOnly: true });
//cookie的有效期为900000ms
res.cookie('rememberme', '1', {
maxAge: 900000, httpOnly: true });
//cookie的value为对象
res.cookie('cart', {
items: [1,2,3] });
res.cookie('cart', {
items: [1,2,3] }, {
maxAge: 900000 });
res.cookie('name', 'tobi', {
signed: true });
cookie-parser的清除
res.clearCookie(name [, options]);