首页 > 解决方案 > Nuxt 创建共享应用状态的微应用

问题描述

nuxt用来创建我的应用程序的界面,我在这里面对一堵墙。我想基本上在两个微型应用程序中构建我的 nuxt 应用程序,如下所示:


|--- nuxt.config.js
|--- admin
|------ components
|------ pages
|------ middleware
|--- frontend
|------ components
|------ pages
|------ middleware

创建两个微应用而不是两个独立的 nuxt 应用的原因是我想vuex在两个应用之间共享状态,并且在 vuex 状态下我基本上有兴趣了解两个微应用中的用户登录状态(我做不到如果我完全分离应用程序)。

我正在使用nuxt官方auth模块来处理用户身份验证,它将用户登录状态保存在vuex商店中。

我想出的最接近的解决方案是使用具有不同值的srcDirinnuxt.config.js文件,如下所示:

export default {
  srcDir: 'admin/'
}

并通过环境变量将其更改为以下:

export default {
  srcDir: 'frontend/'
}

但它有一个相同的缺点,就是它不共享两个微应用之间的应用状态(例如用户登录状态)。

任何解决方案如何克服这个问题?

标签: authenticationvuexnuxt.js

解决方案


我认为最好像这种结构在页面级别解决这个问题!

|--- nuxt.config.js 
|----components
|----pages
|------- admin
|------- frontend   
|----middleware

并在 auth 中将用户重定向到相关页面和路由


推荐阅读