## **安裝依賴**
```
npm install express-session
npm install cookie-parser
```
## **app.js中注冊使用**
```
const cookieParser = require('cookie-parser');
app.use(cookieParser('sessiontest'));
```
```
//注意要放到注冊路由之前
const session = require('express-session')
// 使用express-session 來存放數據到session中
app.use(
session({
secret: 'sessiontest', //與cookieParser中的一致
resave: false,
saveUninitialized: true,
cookie: { secure: true }
})
)
```
## **express-session的常用參數**
`secret`:一個String類型的字符串,作為服務器端生成session的簽名。
`name`:返回客戶端的key的名稱,默認為connect.sid,也可以自己設置。
`resave`:(是否允許)當客戶端并行發送多個請求時,其中一個請求在另一個請求結束時對session進行修改覆蓋并保存。
默認為true。但是(后續版本)有可能默認失效,所以最好手動添加。
`saveUninitialized`:初始化session時是否保存到存儲。默認為true, 但是(后續版本)有可能默認失效,所以最好手動添加。
`cookie`:設置返回到前端key的屬性,默認值為`{ path: ‘/', httpOnly: true, secure: false, maxAge: null }` 。
express-session的一些方法:
`Session.destroy()` :刪除session,當檢測到客戶端關閉時調用。
`Session.reload()` :當session有修改時,刷新session。
`Session.regenerate()` :將已有session初始化。
`Session.save()` :保存session。