gpt4 book ai didi

json - Electron编写json文件在dev中工作但在dist中不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 03:22:36 32 4
gpt4 key购买 nike

我正在使用 Electron 构建应用程序,并在登录后保存配置文件。当应用程序在开发中重新打开时,它可以工作,但是当它在与 Electron-builder 一起分发后重新打开时,我必须再次登录。

代码

const {writeFile} = require('fs');
const {join} = require('path');

function write(config) {
writeFile(join(__dirname, './config.json'), JSON.stringify(config, null, 4), (err) => {
cb(err);
})
}

write(someJsonObject);

项目:
Electron 1.7.11
Electron 构建器 19.55.2
Node 8.8.1

最佳答案

首先检查您是否没有为生产应用程序构建 asar 文件,因为它是只读的,并且您正在尝试直接写入 __dirname。我的建议是为配置文件使用可写目录,例如:

const fs = require('fs');
const _HOME_ = require('os').homedir();
const _SEP_ = require('path').sep;
const _APPHOME_ = `${_HOME_}${_SEP_}.myapp${_SEP_}`;

if (!fs.existsSync(_APPHOME_)) {//Check dir exists or create it
fs.mkdir(_APPHOME_, '0777', true, function () {
console.log('Created app home dir :)');
});
}
fs.writeFile(_APPHOME_ + 'config.json'), JSON.stringify(config, null, 4), (err) => {
cb(err);
});

当然,您可能希望此解决方案能够满足您的需求。希望对你有用!

关于json - Electron编写json文件在dev中工作但在dist中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48530386/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com