小智 7
这是最新 Nuxt 2.11 的工作解决方案,使用本地定义的模块。
首先在nuxt.config.js中添加一个本地模块
modules: [
"@/modules/axCache",
...
]
Run Code Online (Sandbox Code Playgroud)
然后
// modules/axCache.js
import LRU from "lru-cache"
export default function(_moduleOptions) {
const ONE_HOUR = 1000 * 60 * 60
const axCache = new LRU({ maxAge: ONE_HOUR })
this.nuxt.hook("vue-renderer:ssr:prepareContext", ssrContext => {
ssrContext.$axCache = axCache
})
}
Run Code Online (Sandbox Code Playgroud)
和
// plugins/axios.js
import { cacheAdapterEnhancer } from "axios-extensions"
import LRU from "lru-cache"
const ONE_HOUR = 1000 * 60 * 60
export default function({ $axios, ssrContext }) {
const defaultCache = process.server
? ssrContext.$axCache
: new LRU({ maxAge: ONE_HOUR })
const defaults = $axios.defaults
// https://github.com/kuitos/axios-extensions
defaults.adapter = cacheAdapterEnhancer(defaults.adapter, {
enabledByDefault: false,
cacheFlag: "useCache",
defaultCache
})
}
Run Code Online (Sandbox Code Playgroud)
请注意,这适用于服务器/客户端,并且可以配置为仅在一侧工作。
解决方案:https : //github.com/nuxt-community/axios-module/issues/99
| 归档时间: |
|
| 查看次数: |
4642 次 |
| 最近记录: |