我需要在服务器端可以通过SS中间件/插件/ 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
。
我需要在服务器端可以通过SS中间件/插件/ nuxtserverinit访问的共享对象(例如,缓存/记录器/服务)实例(单个)。我尝试了一个本地模块,该模块试图将$ cache注入到...
您可以从'vue-renderer:ssr:prepareContext'挂钩扩展ssrContext。