programing

Vuejs-nuxt(SSR 모드)가 getter 내부 플러그인을 통해 UserUID를 가져올 수 없습니다.GetUserUUID에 대해 정의되지 않은 것으로 표시됨

prostudy 2022. 7. 23. 09:14
반응형

Vuejs-nuxt(SSR 모드)가 getter 내부 플러그인을 통해 UserUID를 가져올 수 없습니다.GetUserUUID에 대해 정의되지 않은 것으로 표시됨

vuejs-nuxt 프로젝트에서 SSR 모드를 사용하고 있습니다.따라서 소켓이벤트를 호출할 때마다 사용자를 통과시켜야 합니다.스토어에서 나온 소켓 ID입니다.GetUserUUID getter는 다른 모든 API에서 정상적으로 동작합니다.단, "plugin/socketio.js" 파일에서 호출한 경우에만 실패합니다.나는 Getter에서 데이터를 얻기 위해 도움이 필요하다.

플러그 인/플러그 인/솔루션.솔루션

export default async ({ store, $axios }) => {
   console.log(store.getters.GetUserUUID,"Current User UUID which is showing undefined");

function listenStock({ channelName, eventName }, callback) {
console.log("callback",callback);
window.Echo.channel(channelName).listen(eventName, callback);
}

//Fetch user data
listenStock(
 {
  channelName: `BalanceUpdateEvent.${store.getters.GetUserUUID}`,
  eventName: "BalanceUpdateEvent"
 },
 ({ data }) => {
   console.log(data, "socket data");
   try {
     store.dispatch("setUserBalance", data.data.userBalance);
   } catch (ex) {
     console.log(ex);
   }
 }
);

nuxt.config.config.syslog

plugins: [
  { src: '~/plugins/socketio', mode: 'client' }
]
echo: {
   plugins: ['~/plugins/socketio.js']
},

이 이미지는 console.log(store.getters)의 결과이지만 GetUserUUID에 액세스해야 합니다.

nuxt.config.js에서 시도해 보세요.

export default {
  plugins: [
    ....
    { src: '~/plugins/socketio.js', mode: 'client' }, // only on client side
    ...
  ]
}

클라이언트 측에서 플러그인을 실행하는 경우

언급URL : https://stackoverflow.com/questions/63986035/vuejs-nuxt-ssr-mode-not-able-to-get-useruuid-through-getter-inside-plugins-it

반응형