首页 > 解决方案 > 电子应用程序:在电子生成器派生的 .exe 中保留数据

问题描述

使用hypercore-protocol,我有一个玩具电子应用程序,main.js如下所示:

const { app, BrowserView, BrowserWindow,ipcMain } = require('electron')
let Hypercore = require('hypercore')

feed = new Hypercore('./test');
feed.append('hello')

配置package.json为:

{
  "name": "test",
  "main": "main.js",
  "scripts": {
    "start": "electron .",
    "pack": "electron-builder --dir",
    "dist": "electron-builder"
  },
  "build": {
    "appId": "test"
  },
  "devDependencies": {
    "electron": "^12.0.9",
    "electron-builder": "^22.10.5"
  },
  "dependencies": {
    "hypercore": "^9.10.0"
  }
}

当我运行npm start应用程序时,它会启动并运行。如果我关闭并再次运行,超核存储仍然存在(hello理论上我可以从前端读取)。

electron-builder当我使用(使用 command )创建一个 exeyarn dist并再次双击该应用程序时运行。但是,如果我关闭它并重新启动,则hello存储不会持续存在。

我不确定 electron-builder 配置中是否有一个简单的设置可以用来进行hello持久化。也许我需要在(https://www.electron.build/configuration/win )部分添加一个win对象?buildpackage.json

也许我需要确保我给的路径new hypercore是windows允许写入的位置。

当应用程序作为 exe 运行时,如何使应用程序的存储持久化?

标签: javascriptelectronexeelectron-builderhypercore-protocol

解决方案


推荐阅读