Мне нужен экземпляр общего объекта (например, cache / logger / service) (singleton) на стороне сервера, доступный для промежуточного программного обеспечения SS / plugins / nuxtserverinit.
Я пробовал локальный модуль, который пытается внедрить $cache
в серверный контекст во время render:done
ловушки (см. ниже), но независимо от того, что я пробовал, он все еще не был доступен во время обработки запроса SS.
// modules/myCache.js
export default function(_moduleOptions,config) {
this.nuxt.hook("render:before", context => {
const cache=new myExoticCache()
// I tried all the below combinations
context.nuxt.$cache1=cache
context.serverContext.$cache2=cache
context.options.$cache3=cache
context.globals.$cache4=cache
});
this.nuxt.hook("render:done", context => {
// tried the above here too
});
}
// plugins/myplug.js
export default ({serverContext,nuxt}, inject) => {
//all of the below are undefined
//nuxt.$cache
//serverContext.$cache
}
Похоже, я что-то упустил. Было бы здорово узнать что. Как я могу передать значение из route:done
ловушки на любую серверную сторону middleware/plugin/nuxtserverinit
.