踩坑pinia

2,387 阅读1分钟

pinia和router

Uncaught Error: [🍍]: getActivePinia was called with no active Pinia. Did you forget to install pinia?
    const pinia = createPinia()
    app.use(pinia)
This will fail in production.

想通过路由守卫对是否有token

image.png

就有了上面的错误 查了一番,大概就是你用的tokenStore还没install 直接说解决方案,翻了pinia的文档

const pinia = createPinia()
const app = createApp(App)

app.use(router)
app.use(pinia)

router.beforeEach((to) => {
  // ✅ 这将确保正确的商店用于
  // 当前运行的应用
  const main = useMainStore(pinia)

  if (to.meta.requiresAuth && !main.isLoggedIn) return '/login'
})

所有只需要把 const tokenStore = useTokenStore(); 放在守卫中,即:

image.png