在 vuex store 中存储配置是一个好习惯吗?

wbs*_*wjc 0 javascript vue.js vuex

在 vuex store 中存储配置是一个好习惯吗?

export default {
  state: {
    app: {
      name: 'A project using vuex'
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

Mik*_*cic 5

就我个人而言,我只把对用户有一定影响的东西放到 Vuex(或 Redux)商店中。来自后端的数据、改变界面的设置/配置等。您应该能够在页面加载时引导您的商店数据,以便在用户刷新时,它们与之前的位置完全相同。

某些配置选项在商店中可能有意义(特别是如果用户可以以某种方式更改它们)。对于大多数事情(如应用程序名称、应用程序版本等),我通常将它们保存在一个环境变量中(通过.env文件),并根据需要在我的应用程序代码中读取它们。我不会将它们注入商店,而是选择为它们生成常量,这样如果它们不应该发生变化,就不会有更改的风险。这有很多好处:

  • 很容易为不同的环境有不同的配置
  • 在包含敏感数据(例如 API 凭据)的情况下,很容易将您的生产配置置于 git 之外
  • 这些数据存储在清晰、简洁且一致的位置。通过源代码控制很容易看到数据如何随时间变化
  • 不可能意外修改处于您不打算修改的状态的变量