我从不同的客户端reuqest,nuxt / nodejs / vuex / aws获得了相同的存储数据

问题描述

我尝试建立一个ssr项目。 所以我按照如下方式在asyncData函数中使用store

async asyncData({ store,params,req }) {
  if(process.server){
    store.dispatch(...)
    store.commit(...)
    return {...}
  }
}

它在客户端开发环境中效果很好,它为每个应用创建带有新axios客户端的新商店 请求服务器端渲染。 但是,一旦我将其投入实验室,就会在aws上建立一个容器,它就会被连接起来。 请求和会话不同,但是它们共享相同的存储和axios实例。 这样会使我的数据混乱。

lib: “ nuxt”:“ ^ 2.12.2”, “ axios”:“ ^ 0.19.2”,

=========================更新1 ==================== =====

我得到了第一点,当我在本地构建并运行时,它的运行结果相同。 在脚本之前:

"cross-env NODE_ENV=development backpack"

现在的脚本:

"cross-env NODE_ENV=production nuxt build"
"cross-env NODE_ENV=production backpack build"
"cross-env NODE_ENV=production node build/main.js"

解决方法

问题是我为商店模块定义的方式。

    // won't share state
    const state = {}
    export default {
      state: () => { return { ...state } }
    }
    // share state
    const state = {}
    export default {
      state:() => state
    }

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...