nuxt-cache-ssr
In Memory Cache middleware for Nuxt3 SSR rendering .
TODO
Setup
npm install nuxt-cache-ssr
or
yarn add nuxt-cache-ssr
then inside your nuxt.config.js
add cache config:
export default defineNuxtConfig({
modules: [
['nuxt-cache-ssr', {
enabled: true,
store: {
type: 'memory',
max: 500,
ttl: 1000 * 60
},
pages: [
'/page1',
'/page2',
],
key: (route: string, headers: any, device: Device) => {
}
}
],
],
})
Configuration
Option | Type | Required | Description | Default |
---|
enabled | boolean | No | To enable/ disable the SSR cache | true |
store | object | No | SSR cache store options | {type:'',max:500,ttl:10000} |
pages | Array | Yes | Pages to cache | N/A |
key | Function | No | Use for generating custo key based on route,headers,and device type. Returned string will be hashed using ohash . return false to bypass cache | url |
| | | | |
Device Interface
interface Device {
userAgent: string
isDesktop: boolean
isIos: boolean
isAndroid: boolean
isMobile: boolean
isMobileOrTablet: boolean
isDesktopOrTablet: boolean
isTablet: boolean
isWindows: boolean
isMacOS: boolean
isApple: boolean
isSafari: boolean
isFirefox: boolean
isEdge: boolean
isChrome: boolean
isSamsung: boolean
isCrawler: boolean
}
caveat
important security warning : don't load secret keys such as user credential on the server for cached pages.
this is because they will cache for all users!