Home >Web Front-end >JS Tutorial >About the method of Vue2 SSR caching Api data
This article mainly introduces Vue2 SSR cache Api data. The content is quite good. I will share it with you now and give it as a reference.
This article introduces the Vue2 SSR cache API data and shares it with everyone. The details are as follows:
1. Install cache dependency: lru-cache
npm install lru-cache --dev
2. api configuration file
config-server.js
var LRU = require('lru-cache') let api if (process.__API__) { api = process.__API__ } else { api = process.__API__ = { api: 'http://localhost:8080/api/', cached: LRU({ max: 1000, maxAge: 1000 * 60 * 15 }), cachedItem: {} } } module.exports = api
Configure lru-cache
3. Encapsulate the api
import axios from 'axios' import qs from 'qs' import md5 from 'md5' import config from './config-server.js' export default { post(url, data) { const key = md5(url + JSON.stringify(data)) if (config.cached && config.cached.has(key)) { return Promise.resolve(config.cached.get(key)) } return axios({ method: 'post', url: config.api + url, data: qs.stringify(data), // 其他配置 }).then(res => { if (config.cached && data.cache) config.cached.set(key, res) return res }) } }
We use axios for the ajax library, because axios can be used in nodejs and browsers
And encapsulate the node side and the browser side separately
import config from './config-server.js'
const key = md5(url + JSON.stringify(data))
Generate a through url and parameters The only key
if (config.cached && config.cached.has(key)) { return Promise.resolve(config.cached.get(key)) }
if (config.cached && data.cache) config.cached.set(key, res)
Determine whether the cache is enabled, and if the interface specifies cache, it will The data returned by the api is written to the cache
Note:
This api will handle all requests, but many requests do not actually need to be cached, so If you need to cache, you can add cache: true in the passed data, such as:
api.post('/api/test', {a: 1, b:2, cache: true})
If you don’t need caching, just pass the value as normal
Of course there are many ways to mark whether to cache, you don’t have to use this one
The above is the entire content of this article, I hope it will be helpful to everyone’s study , please pay attention to the PHP Chinese website for more related content!
Related recommendations:
How to implement simple vue infinite loading instructions
How to configure Sass in vue scaffolding
The above is the detailed content of About the method of Vue2 SSR caching Api data. For more information, please follow other related articles on the PHP Chinese website!