nuxt-session
Add session support in Nuxt.js, accessible in server middleware using express and express-session
Quick start
- Add
nuxt-session
dependency using npm to your project:
npm install nuxt-session
- Add
nuxt-session
tomodules
section ofnuxt.config.js
:
modules: 'nuxt-session'
Usage
Usage in Nuxt.js serverMiddleware:
module { // Get the session ID: console; // Assign some value to session: reqsessionsomeKey = 'some value'; // Get some value: const someOtherValue = reqsessionsomeOtherKey; ;}
Usage in nuxt-api module:
The session
object will automatically be injected into the context of nuxt-api
.
File /server/api/cart/add.js
:
method: 'POST' params: productId: type: String required: true { if !sessioncart sessioncart = ; sessioncart; return sessioncart; };
Usage in nuxtServerInit
File /store/index.js
:
const actions = async { // Get session ID: const sessionId = reqsessionid; // Or set initial cart state: if session && sessioncart ; };
Configure
Pass the express-session options directly into this module:
modules: 'nuxt-session' // express-session options: name: 'nuxt-session-id' secret: 'some secret key'
Configuring using a function:
For some session stores you will need the express session object. You can get it by passing the options as as function:
modules: 'nuxt-session' { // Use the session object: var RedisStore = session; return name: 'sessionId' store: host: 'localhost' port: '1234' secret: 'some secret key' cookie: maxAge: 1000 * 60 * 60 * 24 * 7 * 52 * 2 // 2 years saveUninitialized: true resave: false ; }