javascript - 在 vuex 存储中存储配置是一个好的做法吗?

标签 javascript vue.js vuex

在 vuex 存储中存储配置是一个好的做法吗?

export default {
  state: {
    app: {
      name: 'A project using vuex'
    }
  }
}

最佳答案

就我个人而言,我只会将对用户产生一些影响的东西放入 Vuex(或 Redux)存储中。来自后端的数据、改变界面的设置/配置等。您应该能够在页面加载时引导您的商店数据,这样如果用户刷新,它们就完全位于之前的位置。

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

  • 很容易针对不同的环境进行不同的配置
  • 如果生产配置包含敏感数据(例如 API 凭据),可以轻松地将其保留在 git 之外
  • 此数据存储在清晰、简洁且一致的位置。通过源代码管理可以轻松查看数据如何随时间变化
  • 不可能意外地修改处于您不希望的状态的变量

关于javascript - 在 vuex 存储中存储配置是一个好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47311298/

相关文章:

javascript - Vuex axios 调用无法处理 422 响应

javascript - 从 jquery 到 Django 进行 ajax 调用时未设置 CSRF

javascript - 如何使用JS访问多个对象中的特定属性

javascript - 如何将 onclick 事件附加到 vuejs "v-for="生成的每个项目以显示或隐藏其内部元素

javascript - Vue 中的去抖计算属性/getter

javascript - 返回 promise 的 Vuex 操作永远不会解决或拒绝

javascript - 获取第一个 _ 之后的字符串

javascript - 在不指定坐标的情况下使用 AmMaps 中的 MapLines 连接美国各州?

javascript - Bootstrap Vue 可编辑表格列

vue.js - 可以在呈现的 html 中使用带有模板的 VueJS SFC 组件吗?