Single-spa patches $nuxt

38 Views Asked by At

I use Single-spa (v5) and Nuxt (v2). I struggle with i18n. $t - localisation function is called as $nuxt.$t in main-app . After attending sub-app $nuxt is different and $nuxt refers to sub-app. $nuxt.$t is undefined. How to prevent overwriting $nuxt by Single-spa?

Registarting sub-app in main-app:

<template>
  <div>
    <div id="__subapp" key="subapp"></div>
  </div>
</template>

<script>
import { registerApplication, start, getAppNames, unregisterApplication } from "single-spa"

export default {
  created() {
    console.log(window.$nuxt) // window.$nuxt refers to main-app. window.$nuxt.$t is defined
    if(!getAppNames().includes('subapp')){
      registerApplication({
        name: 'subapp',
        app: async () => await import('~/../sub-app/dist/_nuxt/subapp'),
        activeWhen: '/subapp'
      });
      start();
    }
  },
  async beforeDestroy() {
    console.log(window.$nuxt) //  window.$nuxt refers to sub-app. window.$nuxt.$t is undefined
    await unregisterApplication('subapp')
  }
}
</script>

enter image description here

enter image description here

0

There are 0 best solutions below