Electron-Vue应用程序的状态存储在哪里?

时间:2019-09-23 03:14:21

标签: vue.js electron vuex

状态数据在会话之间如何持久保存?

我按照本教程(https://alligator.io/vuejs/vue-electron/)使用Electron中的Vue.js创建了一个简单的ToDo应用。

在填满一些空白后,一切正常。但是,我找不到应用程序状态的存储位置。例如,在开发模式(npm run dev)中,如果我添加一些ToDo项然后关闭该应用程序(甚至重新启动VS Code),则在重新启动该应用程序时,ToDo数据将保持不变。

我正在使用Win10,除其他外,我尝试搜索最近30分钟内更改过的文件(datemodified:‎23/‎09/‎2019 12:30..13:00),但没有成功。我已经查看了我的个人资料,App目录,并在Google中搜索了线索。

[编辑]

我认为这与import { createPersistedState, createSharedMutations } from 'vuex-electron'(位于src \ renderer \ store \ index.js中)有关,但与了解状态的存储位置并不太接近。是的-我对此很陌生。


有关其价值的信息,如果您想按照本教程进行操作:

问题1。

  

现在我们知道Vue应用程序是如何启动的,让我们看一下应用程序中定义的路由。转到src / router / index.js:

应为:src / renderer /router/index.js:

问题2。在src / renderer / components / LandingPage.vue

  
     <div class="todos">
      <ul>
        <li
          class="todo-item"
          v-for="todo in todos"
          :key="todo.id"
          @click="completeTodo(todo)"></li>
      </ul>
    </div>

应为:

    <div class="todos">
      <ul>
        <li
          class="todo-item"
          v-for="todo in todos"
          :key="todo.id"
          @click="completeTodo(todo)">{{todo.name}}</li>  // {{todo.name}}
      </ul>
    </div>

1 个答案:

答案 0 :(得分:1)

使用'vuex-electon'的'createPersistedState'选项以json格式保存在'AppData'路径中。

uerName/AppData/Roaming/Electron/vuex.json

删除“ createPersistedState”以禁用保存。

import { createSharedMutations } from 'vuex-electron'

export default new Vuex.Store({
  modules,
  plugins: [
    createSharedMutations()
  ],
  strict: process.env.NODE_ENV !== 'production'
})

查看https://github.com/vue-electron/vuex-electron