Vue 2 SSRキャッシュAppデータ
本論文では、Vue 2 SSRキャッシュアプリのデータを紹介します。
1.据付キャッシュ依存:ll-cache
config-server.js
3.パッケージ下のapp
そしてnodeの端とブラウザの端を別々にカプセル化します。
注意:
このアプリはすべての要求を処理しますが、多くの要求はキャッシュが必要ではないので、キャッシュが必要です。
もちろんここにはキャッシュする方法がたくさんあります。これを使う必要はありません。
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。
1.据付キャッシュ依存:ll-cache
npm install lru-cache --dev
2.appプロファイル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
l-cacheを設定します3.パッケージ下のapp
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
})
}
}
ajaxライブラリはaxiosを使っています。axiosはnodejsとブラウザで全部使えます。そしてnodeの端とブラウザの端を別々にカプセル化します。
import config from './config-server.js'
const key = md5(url + JSON.stringify(data))
urlとパラメータによって、唯一の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)
キャッシュがオープンしているかどうかを判断し、インターフェースがキャッシュを指定すると、apiが戻ってきたデータをキャッシュに書き込みます。注意:
このアプリはすべての要求を処理しますが、多くの要求はキャッシュが必要ではないので、キャッシュが必要です。
api.post('/api/test', {a: 1, b:2, cache: true})
キャッシュ不要の直接は正常の伝値を押せばいいです。もちろんここにはキャッシュする方法がたくさんあります。これを使う必要はありません。
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。